Nginx

讓我們加密 Nginx 無法辨識的證書

  • April 11, 2017

我使用本指南成功創建了一些 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

進入監聽指令。

引用自:https://serverfault.com/questions/762225