ngnix에서 포트를 숨기고 대신 사이트 링크를 표시합니다.

ngnix에서 포트를 숨기고 대신 사이트 링크를 표시합니다.

나는 이미 다음에 언급된 제안을 시도했습니다.

Nginx 역방향 프록시 리디렉션에서 포트 숨기기

하지만 그것은 나에게 도움이 되지 않습니다.

내 django+gunicorn 애플리케이션에 대해 nginx 역방향 프록시를 수행했으며 포트 8000에서 열려 있습니다. 다음과 같이 컴퓨터 이름에 액세스할 수 있습니다.http://some_machine:8000내 앱이 실행되는 것을 확인하세요. Nginx 역방향 프록시를 사용하여 해당 컴퓨터에서 실행되는 로컬 호스트를 컴퓨터 이름으로 매핑했습니다. 포트를 숨기고 싶고 URL에서 다음과 같은 것을 원합니다.http://some_machine/zmk대신에http://some_machine:8000/zmk.

/etc/nginx/conf.d내 폴더 에 아래 내용을 쓰고 있습니다 .

upstream zms {    
  ip_hash;    
  server zms:8000;    
}

# portal

server {    
  location /zmk {    
        proxy_pass http://zms/;    
        # proxy_redirect http://some-machine:8000/ http://some-machine/zmk;    
        port_in_redirect off;    
        # autoindex on;            
        proxy_set_header Host $host:$server_port;    
        proxy_set_header X-Real-IP $remote_addr;    
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    
        proxy_set_header   X-Forwarded-Proto $scheme;    
    }
  listen 8000;    
  server_name localhost    
  server_name_in_redirect off;    
}

내가 뭘 잘못하고 있는지 이해하지 못합니까? 위의 내용을 폴더에 복사해 보았습니다 /etc/nginx/site-available.

답변1

listen대신 에 진술을 변경하십시오 listen 80. 이렇게 하면 nginx 서버가 포트 80에서 수신 대기하고 트래픽을 포트 8000으로 프록시 처리합니다.

관련 정보