随着时代的进步,HTTPS
已然来临。现代浏览器会给没有使用HTTPS
的网站标识为不安全网站,各种安全扫描软件也会将没有使用HTTPS
登录的功能作为漏洞,写入扫描结果的报告里。开启HTTPS
已经是势在必行。
要开启HTTPS
,必然要申请SSL证书
。很多收费的SSL证书
价格不菲,动辄一年几千上万的。好在阿里云和腾讯云都有免费的SSL证书
可以申请,使得开启HTTPS
变成零成本的事情。
这里以腾讯云为例。先进入腾讯云控制台,点击云产品
,找到SSL 证书
:
点击我的证书
- 申请免费证书
:
选择亚洲诚信免费版证书
,点击确定
:
接下来按照腾讯云的要求填写资料,并验证域名:
要注意,每个子域名都需要单独申请。申请并验证通过后可以点击下载
:
下载解压后,得到下面的文件:
将Nginx
目录下的文件上传到服务器中:
参考资料:Configuring HTTPS servers
在nginx配置文件中加入以下配置:
server {
listen 443 ssl;
server_name www.example.com;
ssl_certificate www.example.com.crt;
ssl_certificate_key www.example.com.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
...
}
其中server_name
换成自己的域名,ssl_certificate
和ssl_certificate_key
换成自己证书的绝对地址。
nginx利用反向代理与tomcat整合的文档:CentOS7服务器搭建-NGINX
centos搭建自启动tomcat的文档:CentOS7服务器搭建-Tomcat
配置好https
之后,一定要记得将http
的请求重定向至https
中。否则要么http
请求无法访问,要么用户还是访问的http
网站。
Nginx增加如下配置:
server {
listen 80;
server_name www.example.com;
rewrite ^(.*)$ https://www.example.com/$1 permanent;
}
配置好之后,重启nginx就大功告成了。以centos7为例:
systemctl restart nginx