开启https的步骤很简单的,只需要三步而已:
1、申请证书
2、修改web server的配置文件(我这里是nginx)nginx的配置文件
3、重启Nginx
申请SSL证书请点击:https://buy.cloud.tencent.com/ssl?fromSource=ssl&from=qcloudHpHeaderSsl (我的服务是腾讯云的 所以提供的申请网址也是腾讯云的)
大家根据 上面的链接提示一步一步操作申请即可(截止发稿日期 是可以申请免费的),审批通过还是挺快的 只用了几分钟 我就通过了 而且今天还是周日。
通过之后 点击进入证书管理界面 下载审批通过后颁发的证书 如下图所示:
下载后 是一个压缩文件 解压之后 可以看到里面有很多对应web server的证书 我这里是用的nginx
将nginx文件夹中的crt以及key文件复制到服务器中的某个路径下(一般都是复制到web server的配置文件中),接下来配置nginx的配置文件了。
server { listen 443; server_name www.domain.com; #填写绑定证书的域名 ssl on; #开启ssl ssl_certificate 1_ #你的crt文件 ssl_certificate_key 2_ #你的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; } }
这样就可以了 可以使用nginx -t检查下配置文件是否有报错 没有的话 就可以重启nginx了
或者平滑重启nginx(nginx -s reload) 所谓平滑重启即不用先停止nginx然后在启动nginx 即使运行中的nginx也能读取最新的配置文件
PS:如果使用nginx -t命令后报以下类似的错误:
nginx: [warn] the "ssl" directive is deprecated, use the "listen ... ssl" directive instead in /usr/local/nginx/conf/nginx.conf:126 nginx: [emerg] invalid number of arguments in "ssl_certificate" directive in /usr/local/nginx/conf/nginx.conf:129 nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed
那可能是nginx版本比较高(nginx1.20的版本 需要使用下面这种配置方式,嗯。。好像nginx1.18及以上的版本都需要使用下面这种方式。。博主只试过nginx1.20的版本。。其它版本请自行测试),那nginx的配置可以变成下面这样:
server { listen 443 ssl; server_name www.css3er.com css3er.com; index index.html index.htm index.php; root /home/wwwroot/default/tp6_blog/public; ssl_certificate 1_ #你的crt文件; ssl_certificate_key 2_ #你的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; #error_page 404 /404.html; # Deny access to PHP files in specific directory #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; } include enable-php.conf; location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$1 last; } } }
本文中 博主目前的nginx的版本配置 如下:
最终 使用https访问我们的站点 看下图:
大功告成。。 记住 开启了https 访问的时候 如果没有配置http的话。。记得访问站点的时候前边一定要主动加上https。。不然默认走的还是http。。
也可参考如下链接开启https:
https://cloud.tencent.com/developer/article/1004800
其它web server安装配置 可参考如下链接:
https://cloud.tencent.com/document/product/400/4143
声明:禁止任何非法用途使用,凡因违规使用而引起的任何法律纠纷,本站概不负责。
精彩评论