SSL
Posted 不拨牙
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSL相关的知识,希望对你有一定的参考价值。
今天遇到一位网友要求老蒋将他当前已经在使用的WDCP面板环境,给某个站点添加SSL证书,实现HTTPS网址访问。在过去的几篇文章中,老蒋也有分享过不少在Linux VPS中对应的WEB环境安装SSL证书的经历,其实总体来看都大同小异,区别就是Apache或者nginx,也有用其他环境,然后将SSL证书对应到站点配置文件绑定即可。
网友告知好像不可以实现,难道WDCP面板有特别之处?本着探索精神,老蒋准备尝试解决这个问题,然后顺便记录下来,曾经还记得有网友留言过是否可以分享一篇WDCP安装SSL的文章,这不正好一并分享给有需要的用户参考使用。
第一、WDCP面板环境安装SSL证书准备工作
1、我们需要确保当前Linux VPS已经使用的WDCP面板,如果我们使用其他环境,那则需要对应解决。这里我看到这位网友采用的是WDCP V3.1版本。
2、检查当前WEB引擎。因为WDCP可以选择Apache、Nginx,或者两者组合使用。这里老蒋习惯使用Nginx,所以我们需要在后台检查确定引擎。("系统设置"-"WEB引擎切换")
3、备份数据。如果我们不放心自己折腾坏了机器,建议还是备份下网站数据。有些时候就是那么奇怪,方法都没有问题,可能会导致出错。
第二、准备网站域名SSL证书
既然我们需要用到SSL证书,那肯定是要提前准备的。我们可以去购买,也可以用免费SSL证书。因为这位朋友只需要临时使用(估计是项目临时测试),所以我就直接帮他在SSL For Free申请免费Let‘s Encrypt证书。选择SSL For Free在线工具的原因是比较简单的可视化获取,如果直接用Let‘s Encrypt官方获取方式,稍显有点麻烦。
当然,如果我们喜欢用付费的或者已经准备好证书,那将获取到的证书几个文件放到本地来,等会需要用上。这里他是临时使用的,就帮他省钱一下。反正证书这个东西,如果只要实现HTTPS功能,免费和付费基本没多大区别,何况Let‘s Encrypt也是相当不错的。(参考文章:实战SSL For Free工具快速安装Let‘s Encrypt免费SSL安全证书)
我们获取到ca_bundle.crt、certificate.crt,private.key三个文件,需要先将前面2个.crt文件合并到一个.crt文件中。这里我合并到itbulu.crt。然后将itbulu.crt和private.key两个文件上传到服务器中目录。
/www/web/ssl/
第三、修改Nginx配置文件
/www/wdlinux/nginx-1.10.2/conf/vhost
我们需要到当前站点的nginx配置文件修改,添加SSL证书路径。我们打开文件可以看到已有80端口的配置,这里我们需要配置SSL证书443端口配置。复制一份80端口配置,然后丢到配置文件中。
server {
listen 443 ssl;
ssl on;
ssl_certificate /www/web/ssl/itbulu.crt;
ssl_certificate_key /www/web/ssl/private.key;
root /www/web/ssl_laobuluo_com/public_html;
server_name www.laobuluo.com;
index index.html index.php index.htm;
ssl_session_timeout 10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ‘ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4‘; ssl_prefer_server_ciphers on;
ssl_session_cache builtin:1000 shared:SSL:10m;
error_page 400 /errpage/400.html;
error_page 403 /errpage/403.html;
error_page 404 /errpage/404.html;
error_page 503 /errpage/503.html;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fcgi.conf;
}
location ~ /\.ht {
deny all;
}
}
主要是蓝色部分。配置完毕之后,我们重启WEB。
第四、设置防火墙端口
上面重启WEB之后,打开网址好像还不行,检查下防火墙,看到WDCP面板后台没有设置443端口,需要开启。在"安全管理"-"防火墙iptables"添加443端口。
然后我们再重启web,检查看看是否HTTPS生效。
第五、检查SSL是否生效
这里我们可以看到已经生效。WDCP面板部署SSL证书也这么简单,唯独需要注意开设防火墙443端口。
第六、WDCP安装SSL证书小结
1、与大部分WEB环境一样 ,WDCP面板安装SSL证书可以根据WEB引擎设置,这里老蒋用的Nginx环境,如果是Apache需要配置对应文件。
2、这里实现的是HTTP和HTTPS都可以使用,如果我们需要强制跳转HTTPS,我们则只需要在80端口配置中添加强制的HTTPS跳转。
未经允许不得转载:老蒋部落 ? 记录一次在WDCP面板环境安装SSL证书实现HTTPS网址
本文转自http://www.itbulu.com/wdcp-ssl.html 。
以上是关于SSL的主要内容,如果未能解决你的问题,请参考以下文章