域名请求配置https(使用腾讯免费SSL证书)

事件背景

近期捡漏了一个.cn的域名,于是就部署了一套静态页面到服务器上,绑定域名/nginx反向代理。一顿操作猛如虎,然后使用www.yuming.cn访问。欢迎进入新X京娱乐城,?????一定是看错了,重新刷新一下才进入到自己的页面。之后还会偶现跳到娱乐城的页面,然后看到浏览器地址栏那里写了不安全三个字。突然想到了什么,所以就开始了

准备工作

一个已备案域名
一台公网可访问服务器
一个web服务器(nginx或者apache)

SSL证书申请

之前看了很多都说阿里云和腾讯云都可以免费申请SSL证书,但是楼主在阿里云没有找到免费的。使用的是腾讯云的免费证书
申请步骤:

  1. 登陆腾讯云账号(首次登陆需要做实名认证)
  2. 控制台–>云产品–>域名与网站–>SSL证书
  3. 申请免费证书–>免费证书–>填写必要信息
  4. 域名有效性验证:在申请后会出现验证域名有效性的一组DNS,将此DNS在自己的域名供应商系统中配置到自己的域名解析中,然后提交验证,验证通过后,待证书服务商验证即可(此时需要等待,验证通过会有短信提示)

WEB服务器配置

申请到证书后
在这里插入图片描述
点击下载,解压文件后会有三个文件
在这里插入图片描述
因为我这里用的是Nginx服务器,所以打开Nginx的文件夹。.csr结尾的这个文件在我们的部署过程中是不用的。
本文仅针对NGINX安装流程进行说明,其他web服务器的安装请见:https://cloud.tencent.com/document/product/400/4143腾讯的文档
将下载下来的ssl_certificate 1_www.xxx.cn_bundle.crtssl_certificate_key 2_www.xxx.cn.key 上传到nginx的conf目录
/usr/local/nginx/conf 不同的安装方式对应的conf目录不同。
我这边的目录直接就是在/etc/nginx
在这里插入图片描述

Nginx配置

因为服务器内部对应的项目暴漏的是端口是8082
未配置https时的nginx策略为:

#       server {
#               listen       80;
#               server_name  www.xxx.cn;
#               location / {
#               proxy_pass http://172.18.19.189:8082;
#               proxy_set_header X-Forwarded-Host $host;
#               proxy_set_header X-Forwarded-Server $host;
#               proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#               proxy_connect_timeout 600;
#               proxy_read_timeout 600;
#               }
#       }

改用https后的nginx配置

        server {
                #SSL 访问端口号为 443
                listen 443;
                ssl on;
                #填写绑定证书的域名
                server_name www.xxx.cn;
                #证书文件名称
                ssl_certificate 1_www.xxx.cn_bundle.crt;
                #私钥文件名称
                ssl_certificate_key 2_www.xxx.cn.key;
                ssl_session_timeout 5m;
                #请按照以下协议配置
                ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
                #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
                ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
                ssl_prefer_server_ciphers on;
                location / {
                        #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
                        proxy_pass http://172.18.19.189:8082;
                        proxy_set_header X-Forwarded-Host $host;
                        proxy_set_header X-Forwarded-Server $host;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                        proxy_connect_timeout 600;
                        proxy_read_timeout 600;
                }
        }

配置好以上信息之后执行service nginx reload 即可生效
此处需要注:https走的时443端口,需要确保服务器已经放开443端口,云主机需要确定443端口已经添加到安全组
如果配置后不生效,需要检查一下自己Nginx的版本,使用命令nginx -v 如果nginx的版本高于nginx/1.15.0,配置中的

 listen 443;
 ssl on;
这两行需要改成
listen 443 ssl;

修改后重启nginx即可

效果

  • http访问时

在这里插入图片描述

  • https访问时

在这里插入图片描述

结束语

以前公司针对网络安全做https访问时,全程由运维操作,自己没配置过,感觉可能很复杂,现在实操一次,感觉其实并不难,手动微笑。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值