Hello! On Mon, Jul 04, 2022 at 02:45:05PM +0800, Alexander Titaev wrote:
> Здравствуйте, Rasin. > > Вы писали 29 июня 2022 г., 22:33:30: > > > Добрый день. > > Подскажите пожалуйста, есть софт, в докере поднятый. > > Работает только с location / { > > proxy_pass http://127.0.0.1:3333; > > ... > > } > > Хочу сделать чтобы открывался location /soft { > > proxy_pass http://127.0.0.1:3333; > > ... > > } > > Но с последним выдаёт, что не может найти скрипты и прочее. > > Я так понимаю он посылает заголовок, который непонятен софту. > > Что необходимо сделать, куда копнуть, подскажите пожалуйста. > > в последнем случае проксируемый url будет содержать /soft, вот его и надо > реврайтить в / Цитата из документации (http://nginx.org/r/proxy_pass/ru): : Если директива proxy_pass указана с URI, то при передаче запроса : серверу часть нормализованного URI запроса, соответствующая : location, заменяется на URI, указанный в директиве: : : location /name/ { : proxy_pass http://127.0.0.1/remote/; : } То есть надо написать: location /soft/ { proxy_pass http://127.0.0.1:3333/; ... } Обращаю внимание на "/" в конце префикса location и в конце параметра proxy_pass. Стоит, однако, помнить, что в общем случае это может не работать, так как если внутри запрашиваемых страниц есть ссылки на другие ресурсы, оно могут быть не относительными, и соответственно просто так не заработают. Если софт умеет относительные ссылки и/или даёт возможность задать префикс для загружаемых дополнительных ресурсов - то хорошо. Если же нет, то увы (можно пытаться переписывать ссылки в nginx'е с помощью sub_filter, но в общем случае это не решение). -- Maxim Dounin http://mdounin.ru/ _______________________________________________ nginx-ru mailing list -- nginx-ru@nginx.org To unsubscribe send an email to nginx-ru-le...@nginx.org