хорошо, эта задача должна быть простой, но я просто не могу заставить ее работать. Я хотел бы иметь подпапку после моего доменного имени (фактически после IP-адреса этого доменного имени), которая перенаправляет на определенный порт на том же сервере. По сути, я хочу избавиться от необходимости использовать множество портов.
Вот моя конфигурация nginx для этого
server {
listen 80;
index index.html index.htm index.nginx-debian.html index.php;
server_name aaa.bbb.ccc.ddd;
location ^~ /app2 {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://aaa.bbb.ccc.ddd:8001;
}
}
Итак, после доступа к aaa.bbb.ccc.ddd / app2 я хотел бы, чтобы это разрешило http: //aaa.bbb.ccc.ddd: 8001.
Это может быть так сложно. Что мне здесь не хватает?
Спасибо, Пэт
Поскольку вы отметили это как вопрос обратного прокси, я предполагаю, что вы имеете в виду, что хотите проксировать запрос, чтобы пользователь видел только http://aaa.bbb.ccc.ddd/app2
URL в ее браузере.
Вы можете изменить свой location
блокировать это:
location ~/app2(.*)$ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://aaa.bbb.ccc.ddd:8001$1;
}
Здесь мы фиксируем часть URI после /app2
к $1
переменную и используйте ее в proxy_pass
директива.