скрыть порт в ngnix и вместо этого отобразить site-link

скрыть порт в ngnix и вместо этого отобразить site-link

Я уже попробовал рекомендации, упомянутые в:

Скрыть порт в перенаправлении обратного прокси-сервера Nginx

но мне это не помогает.

Я сделал обратный прокси-сервер nginx для своего приложения django+gunicorn, и он открыт на порту 8000. Я могу получить доступ к имени машины какhttp://some_machine:8000чтобы увидеть, как работает мое приложение. Я сопоставил localhost, работающий на этой машине, с именем машины с помощью обратного прокси 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 80instead. Таким образом, ваш сервер nginx будет прослушивать порт 80 и проксировать трафик на порт 8000.

Связанный контент