Nginx 라우팅 루트 (/)


0

Nginx 라우터 뒤에있는 앱을 제공하려고합니다. 앱은 포트 3000에서 실행되며 다음과 같은 여러 경로를 서비스합니다. /api, /login, 및 /logout. 나는 또한 내가보기를 원하는 정적 인 내용을 가지고있다. / 경로뿐만 아니라 /assets 폴더. 지금 내 nginx 설정은 다음과 같습니다 :

server {
  listen 80;
  root /home/app/static;
  index index.html;
  location = / {
    try_files $uri $uri/ index.html;
  }
  location ^~ (api|login|logout) {
    proxy_pass http://localhost:3000;
    proxy_redirect off;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
  }
}

나는 대체하고 싶다. (api|login|logout) 어떤 종류의 잡기와 함께. 단순히 사용하려고 할 때 location / { ... } 하지만, 어떤 이유로 nginx는 정적 콘텐츠를 보여주는 대신 내 앱을 통해 프록시합니다. 무슨 일 이니?

답변:


1

너는 이걸로 할 수있어. location 블록 :

location / {
    try_files $uri $uri/ @proxy;
}
location @proxy {
    proxy_pass http://localhost:3000;
    proxy_redirect off;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.