实现Nginx添加SSL实现HTTPS访问
申请ssl
购买免费SSL证书
云盾证书服务 (aliyun.com)

创建证书
数字证书管理服务管理控制台 - SSL 证书 (aliyun.com)
这里需要填写个人信息,如果域名和ssl都是阿里云里购买的,那就只要选择自动DNS验证
,否则得手动验证,即添加DNS解析就好
下载证书


安装nginx
服务端(ubuntu)
更新源
1 2 3 4
| sudo apt-get update
sudo apt-get upgrade
|
安装nginx
1
| sudo apt-get install -y nginx
|
启动服务器
1 2
| systemctl start nginx systemctl enable nginx
|
nginx
默认配置文件路径是:/etc/nginx
修改配置文件
1 2 3 4
| etc/nginx |- nginx.conf #主配置文件 |- conf.d/ # 默认读取的配置文件(自己创建) |- *.conf
|
创建default.conf
配置文件
1 2
| sudo cp sites-available/default conf.d/default.conf sudo vim default.conf
|
default.conf
内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| server { listen 80; server_name www.mufei.fun mufei.fun; rewrite ^(.*) https://$server_name$1 permanent; #此句最关键 } server { listen 443 ssl; listen [::]:443 ssl; server_name www.mufei.fun mufei.fun; root /home/ubuntu/hexo; index index.html; ssl_certificate /etc/nginx/cert/mufei.fun.pem; #需要将cert-file-name.pem替换成已上传的证书文件的名称。 ssl_certificate_key /etc/nginx/cert/mufei.fun.key; #需要将cert-file-name.key替换成已上传的证书密钥文件的名称。 ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #表示使用的加密套件的类型。 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #表示使用的TLS协议的类型。 ssl_prefer_server_ciphers on;
location / { root /home/ubuntu/hexo; index index.html; # autoindex on; #资源站要加,加了就可以访问文件夹了 } }
|
将ssl文件移入到/etc/nginx/cert/
下面
应用配置文件
1 2 3 4
| nginx -t // 查看nginx状态(用来测试配置是否正确) nginx -s reload // 重新载入配置文件 nginx -s reopen // 重启 Nginx nginx -s stop // 停止 Nginx
|