開啟 SSL 的基本配置
關閉80
端口,
打開443
,
打開ssl on
,
配置ssl的路徑
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
ssl on;
ssl_certificate /etc/nginx/ssl/phpjit.net.crt;
ssl_certificate_key /etc/nginx/ssl/phpjit.net.key;
圖片.png
重啟nginx
service nginx restart 或者reload
重啟之前可以檢測nginx配置是否成功
nginx -t
http 跳轉到 https:
多加一個 server block,監聽 80 端口,返回 301 重定向。
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name laravist.com www.laravist.com;
return 301 https://$server_name$request_uri;
}
圖片.png
圖片.png
加強配置
https
生成一個 DH group。
sudo openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048
圖片.png
再來就是針對 SSL 做一些自定義的設置:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_ecdh_curve secp384r1;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
ssl_dhparam /etc/nginx/ssl/dhparam.pem;
還有一種簡潔的方式
如何免費的讓網站啟用HTTPS
let’s Encrypt 安裝
報錯處理
Problem binding to port 80: Could not bind to IPv4 or IPv6.
則原因是 nginx 占用了80端口,輸入 service nginx stop。然后再次執行證書安裝命令,即可順利安裝。
安裝完畢后,輸入 service nginx start,重啟 nginx 服務。