
Я уже попробовал рекомендации, упомянутые в:
Скрыть порт в перенаправлении обратного прокси-сервера 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 80
instead. Таким образом, ваш сервер nginx будет прослушивать порт 80 и проксировать трафик на порт 8000.