nginx配置https的部署实践

http以明文的形式在浏览器和服务器之间交换数据,没有任何数据加密,攻击者可以在截取之间的信息并读懂,这明显不安全,所以现在浏览器浏览器都要求网站域名配置SSL域名证书,以https协议传输内容。

那问题来了:

HTTP与HTTPS

  • HTTP:超文本传输协议
  • HTTPS:超文本传输安全协议

简单来说,可以用这个公式:HTTPS = HTTP + SSL

  • SSL:安全套接层,一种安全协议

也就是说:

为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。


申请ssl域名证书

登录腾讯云之后,找到SSL证书管理栏目,购买或者申请域名证书。

注意:

  • 免费证书有效期是一年,一年后手动重新申请即可
  • 域名需要备案

申请完了之后,就可以下载证书啦~

如图下载的域名证书,可以配置到Apache、Nginx、Tomcat等服务器上面。

nginx配置https步骤

好,接下来我们进入正题,给nginx配置域名证书嘿~

解压下载下来的域名证书,获取Nginx里面的两个文件。

  • crt文件是以PEM格式存在的证书,可以用于不同的程序和设备
  • key文件是授权文件

第一步

把crt和key文件上传到nginx的conf目录下。

第二步

nginx.conf或自定义配置文件上配置SSL证书。

HTTPS的默认端口是443,就像HTTP的默认端口80一样,从图中可以看到,这个服务最后代理的是8080端口的tomcat。

第三步

配置完了第二步已经完成一大半了,只要用户输入https://www.java-mindmap.com就可以访问我的社区网站,但是一般用户都懒得输入https://,而不输入的话默认就是发起http链接,所以,需要还需要配置http强制转换成https的链接。

这样,当用户访问http链接时候,强制转成了https的服务了。

至此,HTTPS配置成功~

标签:部署Nginx 发布于:2019-10-24 08:36:50