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的网站很有用,比如小程序,比如苹果。
TIM截图20170923130244.png

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

TIM截图20170923134624.png

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,908评论 18 139
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,513评论 2 45
  • 第一章 Nginx简介 Nginx是什么 没有听过Nginx?那么一定听过它的“同行”Apache吧!Ngi...
    JokerW阅读 32,781评论 24 1,002
  • Nginx简介 解决基于进程模型产生的C10K问题,请求时即使无状态连接如web服务都无法达到并发响应量级一万的现...
    魏镇坪阅读 2,050评论 0 9
  • 学校要求做的孩子的简介 用了洪荒之力,但排出来的版怎么显得很乱呢 要求做手抄报,儿子新生入学,根本不知道手抄报为何...
    一笔一画一世界阅读 188评论 0 0