如何快速使用nginx搭建https站點

如何在nginx上配置https服務

證書準備

如果是線上服務,需要使用經過CA認證中心認證之後的證書(不然用戶瀏覽器會報不安全警告)。如果僅作測試使用,則可以跳過認證中心,使用自簽名證書

nginx配置

server {
        listen       443 ssl;
        server_name  ssl.csw.com;
        #證書文件
        ssl_certificate     server.crt;
        #私鑰文件
        ssl_certificate_key server.key;
        ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers         HIGH:!aNULL:!MD5;
        location / {
            try_files $uri $uri/ /index.php?$query_string;
            root   /ssl/public;
            index  index.html index.htm index.php;
        }
        ...
    }
  1. https默認使用443端口
  2. ssl_certificate:證書文件地址,確保nginx啓動用戶有權讀取
  3. ssl_certificate_key:私鑰文件地址,確保nginx啓動用戶有權讀取
  4. ssl_protocols和ssl_ciphers指令可以用來強制用戶連接只能引入SSL/TLS那些強壯的協議版本和強大的加密算法。從1.0.5版本開始,nginx默認使用“ssl_protocols SSLv3 TLSv1”和“ssl_ciphers HIGH:!aNULL:!MD5”,所以只有在之前的版本,明確地配置它們纔是有意義的。從1.1.13和1.0.12版本開始,nginx默認使用“ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2”。

測試配置是否有效

nginx -t

沒有報錯的話,說明配置無誤,重啓nginx就可以通過https方式訪問站點了

瀏覽器信任

我本地用的是自簽名證書,主流的瀏覽都會報危險警報,信任就可以了(這個操作其實很危險,很可能會信任一些危險的網站)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章