如何申请免费SSL证书,以及NGINX开启HTTPS

2021-01-17 00:05 阅读

随着时代的进步,HTTPS已然来临。现代浏览器会给没有使用HTTPS的网站标识为不安全网站,各种安全扫描软件也会将没有使用HTTPS登录的功能作为漏洞,写入扫描结果的报告里。开启HTTPS已经是势在必行。

免费SSL证书申请

要开启HTTPS,必然要申请SSL证书。很多收费的SSL证书价格不菲,动辄一年几千上万的。好在阿里云和腾讯云都有免费的SSL证书可以申请,使得开启HTTPS变成零成本的事情。

这里以腾讯云为例。先进入腾讯云控制台,点击云产品,找到SSL 证书

点击我的证书 - 申请免费证书

选择亚洲诚信免费版证书,点击确定

接下来按照腾讯云的要求填写资料,并验证域名:

要注意,每个子域名都需要单独申请。申请并验证通过后可以点击下载

下载解压后,得到下面的文件:

Nginx目录下的文件上传到服务器中:

Nginx开启HTTPS

参考资料: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_certificatessl_certificate_key换成自己证书的绝对地址。

Nginx与Tomcat整合

nginx利用反向代理与tomcat整合的文档:CentOS7服务器搭建-NGINX

centos搭建自启动tomcat的文档:CentOS7服务器搭建-Tomcat

Nginx配置http跳转https

配置好https之后,一定要记得将http的请求重定向至https中。否则要么http请求无法访问,要么用户还是访问的http网站。

Nginx增加如下配置:

server {
    listen              80;
    server_name         www.example.com;
    rewrite ^(.*)$ https://www.example.com/$1 permanent;
}

重启Nginx

配置好之后,重启nginx就大功告成了。以centos7为例:

systemctl restart nginx
咨询
交流群
电话