Nginx 未正确监听 80 端口

Nginx 未正确监听 80 端口

Nginx 似乎只监听 HTTPS。这是端口 80 的根配置,不起作用(无响应)。我有两个子域分别配置,其中一个确实接收 HTTP 请求(mail.example.de)

云:

server {
    listen 80;
    listen [::]:80;
    server_name cloud.example.de;
    # enforce https
    return 301 https://$server_name$request_uri;
}

邮件:

server {
    listen 80 ssl;
    listen [::]:80 ssl;

    ssl_certificate /etc/letsencrypt/live/mail.example.de/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/mail.example.de/privkey.pem;

    server_name mail.example.de;

    location / {
      proxy_pass http://127.0.0.1:480;
    }

    location /.well-known {
      root /var/www/letsencrypt;
    }
}

根:

server {
  listen 80 default_server;
  listen [::]:80;
  server_name *.example.de example.de;
  return 301 https://$host$request_uri;
}

我觉得这有点奇怪,没有收到任何回复,所以我尝试了

server {
  listen 80 default_server;
  listen [::]:80;
  server_name *.example.de example.de;
return 200 'Response!';
add_header Content-Type text/plain;

}

答案1

您是否检查过 nginx 服务状态?其日志?

乍一看:你不能在同一个端口上同时拥有 http 和 https 监听器。

从您的配置中删除“邮件”代码段 - 或更改其 80 端口(https 通常使用 443)。重新启动 nginx,这应该可以修复您的 http 站点。

相关内容