nginx 위치 프록시가 다른 포트 경로로 전달됩니다.

nginx 위치 프록시가 다른 포트 경로로 전달됩니다.

반응(http://localhost:90) 및 nextjs(my-next-app.com / http://localhost:85) 애플리케이션을 위해 실행되는 두 개의 도커 컨테이너가 있고 다음과 유사한 Nginx 구성이 있습니다.

    server {
    listen 443 ssl http2;
    ssl on;
    ssl_certificate /foo.crt;
    ssl_certificate_key /foo.key;
    server_name www.my-next-app.com my-next-app.com;

    location / {
        ...
        proxy_pass http://localhost:85;
    }
   }

그리고 이걸 쳤을 때 내가 뭘 하려고 했는지www.my-next-app.com/faq, 사용자가 내 반응 앱의 FAQ 페이지를 대신 볼 수 있기를 원합니다(http://localhost:90/faq)

    server {
    listen 443 ssl http2;
    ssl on;
    ssl_certificate /foo.crt;
    ssl_certificate_key /foo.key;
    server_name www.my-next-app.com my-next-app.com;

    location / {
        ...
        proxy_pass http://localhost:85;
    }

    location /faq {
        ...
        proxy_pass http://localhost:90/faq/;
    }
  }

위의 구성을 시도했지만 작동하지 않았습니다. 이것이 가능한지 알고 싶습니다. 또한 몇 가지 지침을 주시면 감사하겠습니다. 브라우저 콘솔에서 다음 출력을 얻었습니다.

Uncaught SyntaxError: Unexpected token '<' (at main~eec90089.js:1:1)

답변1

/faq/에 대한 Proxy_pass를 /에 대한 Proxy_pass 위에 배치해 보십시오.

관련 정보