配置免费HTTPS服务
2017-08-27 17:38:33   来源:我爱运维网   评论:0 点击:

为安全及防劫持需要,现在的APP客户端、浏览器访问网站或后台服务,包括微信小程序,均需要使用HTTPS来访问。本文以在Nginx上配置免费腾讯云DV SSL安全证书为例介绍如何配置免费的HTTPS服务

为安全及防劫持需要,现在的APP客户端、浏览器访问网站或后台服务,包括微信小程序,均需要使用HTTPS来访问。配置HTTPS服务,关键是拥有公认的SSL证书。

八大免费SSL证书-给你的网站免费添加Https安全加密

 

几年前,SSL证书并不常见,常用于电商交易类的网站,是一种企业服务,申请使用比较复杂。而现在有一些免费SSL证书颁发,HTTPS服务因此大行其道。常用的免费SSL证书有:Let's Encrypt,StartSSL,COMODO PositiveSSL,CloudFlare SSL,Wosign沃通SSL,腾讯云DV SSL,loovit.net AlphaSSL以及360网站卫士百度云SSL。
本文以在Nginx上配置免费腾讯云DV SSL安全证书为例介绍如何配置免费的HTTPS服务。



一、申请免费证书
访问并登录www.qcloud.com,选“产品”下的”域名服务“里的”SSL证书",进入如下界面
配置免费HTTPS服务
点击“域名型DV SSL证书免费申请”链接,确认”免费版DVSSL证书后“进入”免费证书申请“表格,输入“通用名称”(如“exam.5iops.com"),”申请邮箱“(用于后续接收通知),后按下一步,进入”域名身份验证“,在即将要使用证书的域名记录中添加一条TXT记录,如"exam IN TXT 2017082622126abcdefghijklmnopqrstuvwxyz”完成申请。

大约5-10分钟将完成证书的颁发。颁发成功后,在“域名服务”的SSL证书管理中,可以见到申请的证书,见下:

 

配置免费HTTPS服务
下载证书zip文件,解压获得4个文件夹,分别是Apache、IIS、Nginx、Tomcat 服务器的证书文件。

二、配置HTTPS服务

将zip解压得到的Nginx文件夹2个SSL证书文件 1_www.domain.com_bundle.crt 和私钥文件 2_www.domain.com.key,上传到服务器端,并放到同一个目录,例如/usr/local/nginx/conf目录下。

更新Nginx根目录下 conf/nginx.conf 文件如下:

server {
        listen 443;
        server_name www.domain.com; #填写绑定证书的域名
        ssl on;
        ssl_certificate 1_www.domain.com_bundle.crt;
        ssl_certificate_key 2_www.domain.com.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
        ssl_prefer_server_ciphers on;
        location / {
            root   html; #站点目录
            index  index.html index.htm;
        }
    }

可选配置:使用全站加密,http自动跳转https

对于用户不知道网站可以进行https访问的情况下,让服务器自动把http的请求重定向到https。
在服务器这边的话配置的话,可以在页面里加js脚本,也可以在后端程序里写重定向,当然也可以在web服务器来实现跳转。Nginx是支持rewrite的(只要在编译的时候没有去掉pcre)
在http的server里增加rewrite ^(.*) https://$host$1 permanent;
这样就可以实现80进来的请求,重定向为https了。

三、验证服务

配置完成后,先用sbin/nginx –t来测试下配置是否有误,正确无误的话,重启nginx。就可以使用 https://www.domain.com 来访问了。

若使用sbin/nginx -t 出现如下错误,则说明nginx版本过低:
 ../sbin/nginx -t [warn]: invalid value "TLSv1.1" in /usr/local/webserver/nginx/conf/vhost_5iops_exam.conf:18 configuration file /usr/local/webserver/nginx/conf/nginx.conf test failed
# ../sbin/nginx -t [warn]: invalid value "TLSv1.2" in /usr/local/webserver/nginx/conf/vhost_5iops_exam.conf:19 configuration file /usr/local/webserver/nginx/conf/nginx.conf test failed
请参考这篇文章解决:

无缝不中断服务平滑升级Nginx

相关热词搜索:配置 HTTPS 服务

上一篇:无缝不中断服务平滑升级Nginx
下一篇:linux中使用命令替代htpasswd生成密码的方法

分享到: 收藏
iTechClub广告