nginx。同一服务器上的多个站点导致错误 500

nginx。同一服务器上的多个站点导致错误 500

我有两个域链接到同一服务器:domain1.com 和domain2.com。

当我尝试使用这些域名配置两个单独的网站时,遇到 nginx 错误 500。

我已经为第一个域设置了 nginx。我在可用站点中创建了配置文件并将其链接到已启用站点。

以下是存储在sites-available 中并链接到sites-enabled 的domain1.conf 文件:

server {

server_name domain1.com, www.domain1.com;
listen 80;

    location / {
        proxy_pass https://somehost/;
        proxy_redirect default;
                }
}

server {

server_name domain1.com, www.domain1.com;
listen 443 ssl;


    location / {
        proxy_pass https://somehost/;
        proxy_redirect default;
                }

ssl_certificate crt;
ssl_certificate_key key;
}

它工作完美。另外,使用此配置文件,当我尝试访问domain2.com 时,它会显示domain1.com 内容。

当我尝试在可用站点中创建 domain2.conf 文件并将其链接到已启用站点时,我在两个站点上都收到了 nginx 错误 500。

域2.conf:

server {

server_name domain2.com, www.domain2.com;
listen 80;

    location / {
        proxy_pass https://someotherhost/;
        proxy_redirect default;
                }
}

server {

server_name domain2.com, www.domain2.com;
listen 443 ssl;


    location / {
        proxy_pass https://someotherhost/;
        proxy_redirect default;
                }

ssl_certificate crt;
ssl_certificate_key key;
}

另外,当我尝试将这两个文件放在一个domain1-2.conf 文件中时,我遇到了相同的错误。

可用站点和启用站点中没有其他文件或链接。服务器是ubuntu20.04 我需要在单个服务器上工作多个站点。我究竟做错了什么?

更新:

我没有收到任何错误。仅警报。这是当我尝试从浏览器访问domain2.com 时写入error.log 的字符串。

 2023/06/19 13:07:00 [alert] 107176#107176: *110116 768 worker_connections are not enough while connecting to upstream, client: 123.456.789.000, server: domain1.com,, request: "GET / HTTP/1.0", upstream: "https://123.456.789.000:443/", host: "domain1.com"
2023/06/19 13:07:01 [alert] 107176#107176: *110880 768 worker_connections are not enough while connecting to upstream, client: 123.456.789.000, server: domain1.com,, request: "GET /favicon.ico HTTP/1.0", upstream: "https://123.456.789.000:443/favicon.ico", host: "domain1.com", referrer: "https://domain2.com/"

答案1

感谢@Richard Smith 的评论。问题出在逗号分隔的 server_name 指令中。

nginx -t没有向我显示此错误。

看起来 nginx 读取了server {}两个文件中的所有指令并忽略server_name指令,因为其中有逗号,这就是我收到错误 500 的原因。

相关内容