跳到主內容

SSL

極度建議把DNS交給Cloudflare,然後再交由Cloudflare設定SSL

SSL/TLS 概觀頁面 選擇 完整嚴格 
接著要 原始伺服器頁面 建立憑證 把 cert.pem 及 key.pem 存取在  /etc/ssl/ ; 勾選 認證的原點提取   

 listen 443 ssl;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
    ssl_certificate         /etc/ssl/cert.pem;
    ssl_certificate_key     /etc/ssl/key.pem;
    ssl_client_certificate /etc/ssl/cloudflare.crt;
    ssl_verify_client on;
}
server {
    if ($host = site.com) {
        return 301 https://$host$request_uri;
    }


    server_name site.com;
    listen 80;
    return 404;

在原本的conf檔的 server 的最後一個 "}" 前面貼上

在Nginx安裝SSL的方式可以參考:
https://www.digitalocean.com/community/tutorials/how-to-host-a-website-using-cloudflare-and-nginx-on-ubuntu-20-04


還有另一個方式是使用Certbot

apt instll certbot

安裝

certbot -d site.com

新增網站

務必留意,要先在 /etc/nginx/sites-enabled/ 建立 site.com 的設定檔後再執行,否則他會幫你寫在 /etc/nginx/nginx.conf

certbot delete --cert-name site.com

刪除指定網站的SSL

經驗上Ubuntu 22.04之後的版本會自己執行寫入設定檔的動作,並且也會幫你定期更新憑證,不用自己寫cron跑 certbot renew

 

Cloudflare想要在驗證SSL網站拿到A的方法到 SSL/TLS 邊緣憑證 最低 TLS 版本 選1.2 ;拿到A+的方法 啟用HTTP 強制安全傳輸 (HSTS)