当前位置:首页 > 服务器技术 > nginx

让你的网站走https(linux, nginx)

自己编写
适合像我这样新手(我也是刚快要弄明白)
服务器已经通过阿里云web一键安装包安装完成
环境是linux+nginx
已经申请域名


 

 

 

购买免费CA证书

我们可以在阿里云购买免费的证书

  • 有效期一年
  • 只能一个域名
  • 可以购买多个免费的

购买

购买

技术分享

进入之后就直接购买就行了
技术分享

技术分享

支付成功

验证

购买成功之后可以回到控制台,找到信息补全按钮,进行补全信息

技术分享

购买之后补信息

技术分享

输入你的姓名邮箱什么的

创建CRS并提交

技术分享

在你上面输入的邮箱中找到新邮件,点击链接去沃通验证域名所有者


选择邮箱并验证

技术分享

接收到的验证码

技术分享

成功

 

下载上传证书

下载证书

技术分享

我的手机登陆不显示下载(即使登陆电脑版)

  •  .pem 是公钥
  •  .key 是私钥

上传证书

这里直接通过命令行上传,也可以使用xftp等工具上传

            1 scp -r /home/space/CA/ root@0.0.0.0:/home/ 
  • /home/space/music/是本地路径
  • root@0.0.0.0:/home/是服务器路径和服务器用户名
  • 需要把0.0.0.0改成自己的服务器IP地址
  • 执行之后会在服务器/home新建一个CA文件夹,形成/home/CA

 

<h3>修改证书权限

上传之后需要进行权限设置,不然可能出现问题

1.chmod 755 ./CA -R
  • -R是递归,把该文件夹下所有子文件夹及文件更改权限
  • ./CA当前目录下的CA文件夹

nginx配置

上面完成后,还需要进行nginx配置

nginx虚拟机配置

设置虚拟机路径
设置虚拟机路径(在nginx.conf中)

1http {
2     include /alidata/server/nginx/conf/vhosts/*.conf;
3}
 

设置虚拟机

技术分享技术分享
 1server {    #转跳规则
 2     listen  80;
 3    server_name ztypy.xyz;
 4     rewrite ^ https://$server_name$request_uri? permanent; 5}
 6 7server {
 8     listen       443 ssl;
 9    #域名
10    server_name  ztypy.xyz;
1112    ssl on;
13    #证书路径
14     ssl_certificate /alidata/server/nginx/ssl/ztypy.pem;    #公钥
15     ssl_certificate_key /alidata/server/nginx/ssl/ztypy.key;    #私钥
16    ssl_session_timeout 5m;
17     ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
18     ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
19    ssl_prefer_server_ciphers on;
2021    index index.html index.htm index.php;
22    #网站路径
23     root /alidata/www/ceshi/w;
2425    #静态规则及日志
26     include /alidata/server/nginx/conf/rewrite/phpwind.conf;
27     access_log  /alidata/log/nginx/access/ceshi.log;
28 }
View Code
 

http强制走https

方法一(推荐因为方便)
直接在.conf中设置

1server {
2   listen      80;
3  server_name example.me;
4   rewrite     ^   https://$server_name$request_uri? permanent;5 }

 

 

方法二
单独设置一个.conf,定位到以下页面。
通过页面转跳

1<html>2<meta http-equiv="refresh" content="0;url=https://ztypy.xyz/">3</html> 

小坑

    1. 关于下载密钥:我的手机登陆不显示下载(即使手机上登陆电脑版)
    2. 关于密钥:
      • .pem是公钥
      • .key是私钥
    3. 设置密钥放的地址时:ssl_certificate是公钥
    4. nginx虚拟机设置:server不在nginx.conf

原文:http://www.cnblogs.com/zyt-blogs/p/5921574.html


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!