Что я хочу сделать, это
Когда кто-то посещает http://localhost/route/abc
сервер ответ точно так же, какhttp://localhost:9000/abc
Теперь я настраиваю свой Nginx так:
location /route {
proxy_pass http://127.0.0.1:9000;
}
HTTP-запрос отправляется 9000
правильно, а полученный путь - http://localhost:9000/route/abc
нет http://localhost:9000/abc
.
Любое предложение ?
/
хорошо документировано как способ удаления префикса, указанного в расположении.Я считаю, что вы можете использовать переписать, чтобы удалить лишнюю часть URL. В вашем случае я думаю, что вы могли бы использовать:
Однако если в вашем приложении есть внутренние ссылки, они все равно могут указывать на / abc / foo, и если вы делаете это, им вместо этого нужно указывать на / route / abc / foo, чтобы необработанный запрос поступал правильно. Возможно, вам лучше оставить конфигурацию nginx такой, какой она есть, и вместо этого сконфигурировать ваше приложение, чтобы знать, что оно живет в подкаталоге, если можете.
Я знаю, что это старый вопрос, но он был главным хитом для меня, когда я пытался решить ту же проблему!
источник
Попробуйте следующее
источник
vim nginx.conf
Этот код прослушивает 8080 и перенаправляет на порт 8787 на compute-1-36. Вы можете выбрать другой путь в местоположении /
источник