介绍
现在的大部分网站都启用了SSL加密(https),不加密的网站甚至被浏览器标记为『不安全』,所以有必要为我们的网站启用https加密,申请SSL证书的成本也很低(Let's Encrypt是免费的)
如何申请免费Let's Encrypt证书,详见我的另一篇博客:https://blog.terrynow.com/2021/02/14/acme-retrive-letsencrpt-https-ssl-cert-and-auto-renew/
如何安装Nginx,详见我的另一篇博客:https://blog.terrynow.com/2021/02/13/linux-nginx-tomcat-config-load-balance/
本文介绍如何配置nginx上启用SSL
先介绍一下dhparam,nginx的配置里会用到
openssl dhparam用于生成和管理dh文件。 dh(Diffie-Hellman)是著名的密钥交换协议,或称为密钥协商协议,它可以保证通信双方安全地交换密钥。 但注意,它不是加密算法,所以不提供加密功能,仅仅只是保护密钥交换的过程。
如何生成dhparam
#使用openssl生成,先which openssl确认openssl是否安装,没有安装的先安装 yum install openssl #or apt install openssl #生成dhparam mkdir /etc/nginx/cert/ openssl dhparam -out /etc/nginx/cert/dhparam.pem 4096
Nginx配置
# HTTPS server 设置
server {
listen 443 ssl;
ssl_certificate /etc/nginx/cert/cert.pem;
ssl_certificate_key /etc/nginx/cert/key.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA;
ssl_session_cache shared:SSL:50m;
#openssl dhparam -rand /dev/urandom 4096 -out /dhparam.pem
#or openssl dhparam -out dhparam.pem 4096
#ssl_dhparam 可选,如果需要使用上面的命令生成dhparam.pem
ssl_dhparam /etc/nginx/cert/dhparam.pem;
ssl_prefer_server_ciphers on;
server_name blog.terrynow.com;
#server_name _;
root /var/www/wordpress;
index index.php index.html index.htm;
client_max_body_size 100M;
charset utf-8;
access_log logs/wordpress.access.log mains;
#强制跳转
if ($host !~ ^blog.terrynow.com$){
rewrite ^(.*) https://blog.terrynow.com$1 permanent;
}
#其他设置省略
}
你还利用nginx的重定向可以将你的http流量导到https,配置如下
server {
# 省略部分配置 ***
listen 80;
#rewrite all traffic to https
#rewrite ^/(.*) https://blog.terrynow.com/$1 permanent;
#or或者全部http转到https
return 301 https://$host$request_uri;
}
配置好后,重启nginx,就完成了
打开SSL测试网站,https://www.ssllabs.com/ssltest/来看看我们的SSL加密得分
文章评论
Ejmbeb - Cialis online cialis pharmacy Vulnqh Zithromax Ear Infection Adults Dog Antibiotics Without Perscription - cialis prescription online Jotzaj