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이 발생합니다.

domain2.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이 오류는 나에게 표시되지 않습니다.

server {}nginx는 두 파일의 모든 지시문을 읽고 server_name지시문에 쉼표가 있기 때문에 지시문을 무시하는 것 같습니다 . 이것이 바로 오류 500이 발생하는 이유입니다.

관련 정보