|
Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Возможно ли заставить Nginx отдавать на реверс-прокси добавленный префикс? |
|
Возможно ли заставить Nginx отдавать на реверс-прокси добавленный префикс?
|
fascinating rhythm Сообщения: 6581 |
Профиль | Отправить PM | Цитировать Привет!
Допустим, на сайте site.com есть три сервиса, которые нужно опубликовать так: site.com/service1 site.com/service2 site.com/service3 Все сервисы крутятся в докере и опубликованы через реверс-прокси (traefik). Вопрос - как сделать так, чтобы сервисы можно было оставлять в корневом каталоге /var/www/html, но чтобы Nginx, который используется в качестве веб-движка, отдавал на реверс-прокси не $scheme://$site$request_uri;, а добавленный префикс $scheme://$site/serviceN$request_uri;, чтобы реверс-прокси понимал, куда посылать запрос и откуда приходит ответ? Опубликовать сервисы на поддоменах в сто раз легче, но такой возможности в данном случае нет, нужен именно добавочный URL. |
|
------- Отправлено: 14:58, 20-08-2021 |
Deadooshka Сообщения: 2499
|
Профиль | Отправить PM | Цитировать proxy_pass в location (лучше в префиксном). Там что угодно можно сделать.
|
Отправлено: 16:59, 20-08-2021 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
fascinating rhythm Сообщения: 6581
|
Профиль | Отправить PM | Цитировать Про то, что можно "что угодно сделать" я знаю, мне бы пример.
Я пока не очень понимаю, как это работает. Именно, что установка в корне, а надо показать, что оно опубликовано как бы в подкаталоге. Ну вот пример конфига: server { server_name localhost; listen 443 ssl; root /var/www/path/to/alltube; index index.php; access_log /var/log/nginx/alltube.access.log; error_log /var/log/nginx/alltube.error.log; types { text/html html htm shtml; text/css css; text/xml xml; application/x-web-app-manifest+json webapp; } # Deny access to dotfiles location ~ /\. { deny all; } location / { try_files $uri /index.php?$args; } location ~ \.php$ { try_files $uri /index.php?$args; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_intercept_errors off; fastcgi_buffer_size 16k; fastcgi_buffers 4 16k; include fastcgi_params; } } |
------- Последний раз редактировалось DJ Mogarych, 20-08-2021 в 17:28. Отправлено: 17:05, 20-08-2021 | #3 |
Deadooshka Сообщения: 2499
|
Профиль | Отправить PM | Цитировать |
Отправлено: 18:31, 20-08-2021 | #4 |
fascinating rhythm Сообщения: 6581
|
Профиль | Отправить PM | Цитировать Реверс-прокси должен получать полный ответ, но с прибавкой /serviceN после домена.
Иными словами, как будто все файлы сервиса лежат в подкаталоге /var/www/html/serviceN, но реально они лежат в /var/www/html. |
|
------- Последний раз редактировалось DJ Mogarych, 21-08-2021 в 08:40. Отправлено: 21:20, 20-08-2021 | #5 |
fascinating rhythm Сообщения: 6581
|
Профиль | Отправить PM | Цитировать proxy_pass - это, похоже, не то, т. к. эта директива передаёт запрос, пришедший на nginx, на другой сервер. Поэтому в случае
Цитата Sham:
|
|
------- Отправлено: 09:29, 21-08-2021 | #6 |
Deadooshka Сообщения: 2499
|
Профиль | Отправить PM | Цитировать т.е nginx - это бэкенд за traefik? Тогда непонятно это:
Цитата:
rewrite "^/service\d*(/.+?)$" "$1" last; |
|
Отправлено: 19:43, 21-08-2021 | #7 |
fascinating rhythm Сообщения: 6581
|
Профиль | Отправить PM | Цитировать Да, nginx - это бэкенд.
Нюанс ещё в том, что в корне тоже находится сервис, и получается так, что /serviceN отвечает на запрос, а реверс-прокси думает, что ответил /, и перебрасывает в корень. Можно ли как-то по-другому разграничивать трафик по контейнерам, заголовки какие-нибудь? |
------- Отправлено: 09:57, 24-08-2021 | #8 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Не пропускает прокси, возможно кривой wpad или прокси ip | gfagnum | ISA Server / Microsoft Forefront TMG | 1 | 06-02-2014 10:17 | |
Клавиатура - [решено] Возможно ли заставить компьютер распознавать клавиатуру как геймпад? | Dimon.bma | Прочее железо | 3 | 19-06-2010 19:59 | |
Разное - [решено] Возможно ли заставить систему работать на другом железе (чипсете) | UncleStark | Microsoft Windows 2000/XP | 5 | 17-06-2010 10:21 | |
UserGate - Возможно ли удаленное управление через прокси? | Trojan16 | Сетевые технологии | 6 | 13-03-2008 11:05 | |
Стоит ли ставить прокси на Хипи? И какую прокси... | warezhka84 | Сетевые технологии | 2 | 18-11-2004 20:49 |
|