前言
我们接上一篇文章在Ubuntu中利用Nginx进行多站点的配置(未备案这样投机取巧!)的内容,对于上一篇文章还没解决的HTTPS的问题,我们在本篇文章中将继续探讨。
HTTPS 的配置(使用freessl免费证书)
证书的申请
- 进入官网填写相关内容
我选择 DNS 验证,一键申请(会要求安装软件keymanager):

keymanager:提供安全便捷的SSL证书申请和管理
- 利用
brew安装 keymanager

打开后:

- 再次申请,此时弹出设置
需要DNS登录的Global API key。
作者虽然是在namesilo买的域名,但是在cloudflare上管理,因此就需要去cloudflare上去找这个密钥:

填好之后点击申请就好了:

- 导出证书
稍等片刻,会生成一个压缩包:

- 将证书上传到服务器
我们把证书存在/etc/nginx/ssl目录下,可以使用ftp,或者宝塔面板上传:

在 Nginx 中配置 ssl
虚拟主机的配置文件放在:/etc/nginx/sites-available中。
例如编辑baota这个虚拟机的配置文件:
server {
listen 888;
listen [::]:888;
server_name baota.dfface.com;
ssl on;
ssl_certificate /etc/nginx/ssl/*.dfface.com_chain.crt;
ssl_certificate_key /etc/nginx/ssl/*.dfface.com_key.key;
location / {
proxy_pass http://localhost:8888;
proxy_set_header Host $host:888;
proxy_set_header X-Client-IP $remote_addr;
}
}
之后重新载入配置文件:systemctl reload nginx。
成功啦,测试:


关于http链接向https链接的跳转
有多种方式,(对我们的情况无效:一是通过另起一个80的server块,在其中进行rewrite ^(.*)$ https://$host$1 permanent;),还有就是对我们有用的一种:error_page 497 https://$host:888$uri?$args;。——来自nginx强制使用https访问(http跳转到https)
dfface 的版权声明:所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处,严禁商业用途!