使用Nginx配置SSL

使用Nginx配置SSL,ssl,nginx,Ssl,Nginx,现在这可能是一个非常简单的问题,但我似乎不知道如何让SSL与Nginx一起工作。我将列出我迄今为止所做的工作: 使用certbot创建fullchain.pem和privkey.pem文件 在/etc/nginx/conf.d/pubgstats.info中添加了以下代码 据我所知,配置侦听端口80并将HTTP请求升级为HTTPS。代码主要取自此。如前所述,我在配置中添加了SSL部分。现在,通过HTTP访问站点是可行的。在HTTPS上,连接被重置。我在配置中遗漏了什么?在这种情况下,使用Ngin

现在这可能是一个非常简单的问题,但我似乎不知道如何让SSL与Nginx一起工作。我将列出我迄今为止所做的工作:

使用certbot创建fullchain.pem和privkey.pem文件 在/etc/nginx/conf.d/pubgstats.info中添加了以下代码

据我所知,配置侦听端口80并将HTTP请求升级为HTTPS。代码主要取自此。如前所述,我在配置中添加了SSL部分。现在,通过HTTP访问站点是可行的。在HTTPS上,连接被重置。我在配置中遗漏了什么?在这种情况下,使用Nginx配置SSL的最佳方式是什么


我不明白为什么您没有将它添加到/etc/nginx/nginx.conf,但问题似乎是您为同一台服务器声明了多个服务器块。在这种情况下,nqinx通常会根据不同的标准选择第一个

通过此配置,nginx将默认使用SSL。如果这不是您想要的,请删除默认的\u服务器。您不需要打开ssl,因为它现在已经过时,并被listen指令中的ssl参数替换

server {
  listen 80;
  listen 443 default_server ssl;
  ssl_certificate /srv/www/pubg-stats/certs/fullchain.pem;
  ssl_certificate_key /srv/www/pubg-stats/certs/privkey.pem;
  server_name pubgstats.info www.pubgstats.info;
  location '/.well-known/acme-challenge' {
        root /srv/www/pubg-stats;
  }

  location / {
        proxy_pass http://localhost:4200;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
  }
  location /secure {
        auth_pam "Secure zone";
        auth_pam_service_name "nginx";
  }
}

谢谢你的回复。实际上,我在/etc/letsencrypt/options-ss-nginx.conf中遗漏了一个重要的include,其中包括certbot的ssl选项。在本文之后:在这里,随着您提供的设置,它终于工作了。
server {
  listen 80;
  listen 443 default_server ssl;
  ssl_certificate /srv/www/pubg-stats/certs/fullchain.pem;
  ssl_certificate_key /srv/www/pubg-stats/certs/privkey.pem;
  server_name pubgstats.info www.pubgstats.info;
  location '/.well-known/acme-challenge' {
        root /srv/www/pubg-stats;
  }

  location / {
        proxy_pass http://localhost:4200;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
  }
  location /secure {
        auth_pam "Secure zone";
        auth_pam_service_name "nginx";
  }
}