原创文件,转载请注明来源:www.aspbc.com,谢谢
作者:wangsdong
1、购买数字证书
去购买Comodo数字证书,填写你的相关资料后,付款成功后,数字证书商家那边给你的邮箱发了一封邮件。
这个邮件中包括一个链接和一个验证码。点击这个链接打开商家的地址,把验证码填写进去,点击验证即可。
这时,你可以收到2个邮件。一个邮件中可以有数字证书,下载下来; 另一个邮件中有key,复制出来,保存为aaa.key文件,备用。
2、连接nginx服务器
将数字证书的四个文件和aaa.key上传到/usr/share/nginx/certs文件夹下。
命令如下:
# cd /usr/share/nginx/certs
# cat www_xxx_com.crt SectigoRSADomainValidationSecureServeridationSecureServerCA.crt USERTrustRSAAAACA.crt AAACertificateServices.crt > www_xxx_com.bundle.crt
3、生成DHE参数
为了避免使用 OpenSSL 默认的 1024bit DHE 参数,我们需要生成一份更强的参数文件:
#cd /etc/ssl/certs
#openssl dhparam -out dhparam.pem 4096
建议您使用性能强劲的平台生成此文件,例如最新版的至强物理机。如果您只有一台小型 VPS,请使用 openssl dhparam -out dhparam.pem 2048 命令生成 2048bit 的参数文件。
4、修改nginx配置文件
# vi cd /usr/local/nginx/conf/nginx.conf
代码如下:
server {
listen 80;
# listen [::]:80 ipv6only=on;
server_name www.xxx.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
# listen [::]:443 ssl ipv6only=on;
server_name www.xxx.com;
ssl_certificate /usr/local/nginx/cert/www_xxx_com.bundle.crt;
ssl_certificate_key /usr/local/nginx/cert/aaa.key;
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4";
keepalive_timeout 70;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security max-age=63072000;
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
root /home/wwwroot/default;
index index.html index.htm index.php;
include enable-php.conf;
location / {
if (!-e $request_filename){
rewrite ^/(.*)$ /index.php?s=/$1 last;
}
}
}
5、重启nginx服务器
# service nginx restart
6、nginx服务器中开启的443端口
# vim /etc/sysconfig/iptables
在里面加上以下这句
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
然后保存,重启防火墙
# service iptables restart
7、配置完成
打开浏览器,使用https://www.xxx.com访问你的网站,能打开即配置成功。