linux nginx ssl,linux nginx 配置https笔记

前提:nginx已启动

主机环境:ubuntu 16.04

使用的ssl证书为Lets's Encrypt Authority x3签发的,是免费使用的,他们的工具现在叫certbot,使用方法很简单,按这一套流程下来,https就就可以正常使用了,非常方便。

主要记录一下几个要点

多个子域需要各自生成证书,比如example.com、a.example.com、b.example.com就需要三个证书,终端用这一条命令搞定:

sudo certbot --expand -d example.com,a.example.com,b.example.com

接下来会让你选这个:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.

1: No redirect - Make no further changes to the webserver configuration.

2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for

new sites, or if you're confident your site works on HTTPS. You can undo this

change by editing your web server's configuration.

假如你有很多子域,或设置了泛解析,并且没有分别为每个子域分配证书

如果选择了1,nginx不会对非https请求作重定向。添加了证书的子域,如果用户输入http进入还是按照http做请求,未添加证书的子域也还是按照http来链接(80端口),对用户的体验没有影响。

如果选择了2,会在nginx配置文件中加入一个http => hhtps的强制重定向操作。那么在访问没有证书的子域时,会出现这个界面(你的连接不安全,需要在高级中点继续访问),不过这个子域在连接时仍然使用的443端口,这在你将某一没有证书的子域作为restfulAPI服务时对一些强制需要https的网站很有用,比如小程序,比如苹果。

54274ccb6af5

TIM截图20170923130244.png

其实2比1在nginx中就多了这么几行,注释掉和1的作用相同

54274ccb6af5

TIM截图20170923134624.png

在nginx这里,最好将每一子域分开写,我写的*.example.com,在更新证书时提示没有找到www.这个子域,但是感觉这样不合理,应该是可以批量配置的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值