업데이트:

업데이트:

웹사이트를 호스팅하는 아파치가 있습니다.000-default.conf~을 위한www.domain1.com
또 하나는domain2.conf~을 위한www.domain2.com 그리고 이런 구성이 있어요

<VirtualHost *:80>

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    ServerName activity.domain2.com
    ProxyPass / http://activity.domain2.com:8000
    ProxyPassReverse / http://activity.domain2.com:8000
</VirtualHost>

도메인2가리키고 있다http://activity.domain2.com:8000Nginx에서 제공한 것입니다.

Nginx의 경우 서버는 다음과 같이 구성됩니다.

server {
    listen 8000;
    server_name activity.domain2.com;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /root/domain2;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/run/gunicorn.sock;
    }

모든 것이 괜찮습니다www.domain1.com
제외하고, 로드할 때www.domain2.com, HTML 파일만 제공되지만 정적 파일 요청에는 코드 오류가 있습니다.502 프록시 오류

이 문제를 어떻게 해결할 수 있나요?

업데이트:

문제를 해결하기 위해 Apache 대신 nginx를 사용하기로 결정했습니다. 하지만 가능하다면 여전히 답을 알고 싶습니다.

답변1

우선: 후행 슬래시가 누락된 것 같습니다.

ProxyPass / http://activity.domain2.com:8000
                                            ^
                           add a "/" here _/

로부터수동:

첫 번째 인수가 후행 으로 끝나는 경우 /두 번째 인수도 후행 으로 끝나야 하며 /그 반대의 경우도 마찬가지입니다. 그렇지 않으면 백엔드에 대한 결과 요청에서 필요한 일부 슬래시가 누락되어 예상 결과를 제공하지 못할 수 있습니다.

둘째, 프록시 오류는 일반적으로 (오류) 로그에 기록되며 대부분의 오류와 마찬가지로 로그 항목에는 일반적으로 사이트 방문자에게 반환되는 것보다 더 유용한 디버깅 정보가 함께 제공됩니다. 먼저 Apache 로그를 확인하고 nginx 백엔드 서버에 대한 로그도 확인하는 것을 잊지 마십시오.

관련 정보