让我们加密 Nginx 无法识别的证书

hue*_*nix 1 ssl nginx php-fpm ssl-certificate lets-encrypt

我使用本指南成功创建了一些 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
Run Code Online (Sandbox Code Playgroud)

错误说我没有定义 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;
  }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用 Nginx 1.4.6 运行 Ubuntu 14.04。

知道发生了什么吗?我不得不回滚站点的 SSL 版本并返回到仅端口 80。

Pet*_*een 7

您似乎在 server_name 指令末尾缺少分号。我怀疑这会导致以下行被解释为 server_name 指令的一部分,而不是新指令。