Nginx
讓我們加密 Nginx 無法辨識的證書
我使用本指南成功創建了一些 LE SSL 證書。
但是,當我更新我的 nginx 配置以使用證書並將所有埠 80 流量重定向到 443 時。http 成功重定向到 https,該站點無法載入。瀏覽器檢測到我有一個有效的證書,但說我沒有安全連接。這就是我的
/var/log/nginx/error.log
:2016/03/08 00:11:49 [error] 7301#0: *14 no "ssl_certificate" is defined in server listening on SSL port while SSL handshaking, client: 55.555.55.555, server: 0.0.0.0:443
該錯誤表明我沒有定義 SSL 證書,儘管我確實這樣做了。這是我的配置:
server { listen 443 ssl; server_name cooldomain.pizza www.cooldomain.pizza ssl_certificate /etc/letsencrypt/live/cooldomain.pizza/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/cooldomain.pizza/privkey.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH'; root /home/ubuntu/www/cooldomain-pizza; index index.php index.html index.htm; server_name cooldomain.pizza www.cooldomain.pizza; charset utf-8; location / { try_files $uri $uri/ =404; # Uncomment to enable naxsi on this location # include /etc/nginx/naxsi.rules } location ~ \.php$ { try_files $uri $uri/ =404; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
我正在執行帶有 Nginx 1.4.6 的 Ubuntu 14.04。
知道發生了什麼嗎?我不得不回滾站點的 SSL 版本並返回到僅埠 80。
您似乎在 server_name 指令的末尾缺少分號。我懷疑這會導致以下行被解釋為 server_name 指令的一部分,而不是新指令。
我遇到過同樣的問題。它幫助我把
default_server
進入監聽指令。