让你的网站走https(linux, nginx)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了让你的网站走https(linux, nginx)相关的知识,希望对你有一定的参考价值。
自己编写
适合像我这样新手(我也是刚快要弄明白)
服务器已经通过阿里云web一键安装包安装完成
环境是linux+nginx
已经申请域名
购买免费CA证书
我们可以在阿里云购买免费的证书
- 有效期一年
- 只能一个域名
- 可以购买多个免费的
购买
购买
支付成功
验证
购买成功之后可以回到控制台,找到信息补全按钮,进行补全信息
购买之后补信息
输入你的姓名邮箱什么的
创建CRS并提交
在你上面输入的邮箱中找到新邮件,点击链接去沃通验证域名所有者
选择邮箱并验证
接收到的验证码
成功
下载上传证书
下载证书
我的手机登陆不显示下载(即使登陆电脑版)
- .pem 是公钥
- .key 是私钥
上传证书
这里直接通过命令行上传,也可以使用xftp等工具上传
1 scp -r /home/space/CA/ [email protected]:/home/
- /home/space/music/是本地路径
- [email protected]:/home/是服务器路径和服务器用户名
- 需要把0.0.0.0改成自己的服务器IP地址
- 执行之后会在服务器
/home
新建一个CA
文件夹,形成/home/CA
<h3>修改证书权限
View Code
上传之后需要进行权限设置,不然可能出现问题
1.chmod 755 ./CA -R
-R
是递归,把该文件夹下所有子文件夹及文件更改权限./CA
当前目录下的CA文件夹
nginx配置
上面完成后,还需要进行nginx配置
nginx虚拟机配置
设置虚拟机路径
设置虚拟机路径(在nginx.conf中)
1 http { 2 include /alidata/server/nginx/conf/vhosts/*.conf; 3 }
设置虚拟机
1 server { #转跳规则 2 listen 80; 3 server_name ztypy.xyz; 4 rewrite ^ https://$server_name$request_uri? permanent; 5 } 6 7 server { 8 listen 443 ssl; 9 #域名 10 server_name ztypy.xyz; 11 12 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; 20 21 index index.html index.htm index.php; 22 #网站路径 23 root /alidata/www/ceshi/w; 24 25 #静态规则及日志 26 include /alidata/server/nginx/conf/rewrite/phpwind.conf; 27 access_log /alidata/log/nginx/access/ceshi.log; 28 }
http强制走https
方法一(推荐因为方便)
直接在.conf
中设置
1 server { 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>
小坑
- 关于下载密钥:我的手机登陆不显示下载(即使手机上登陆电脑版)
- 关于密钥:
.pem
是公钥.key
是私钥
- 设置密钥放的地址时:
ssl_certificate
是公钥 - nginx虚拟机设置:
server
不在nginx.conf
里
以上是关于让你的网站走https(linux, nginx)的主要内容,如果未能解决你的问题,请参考以下文章