У Nginx ми намагалися перенаправити URL-адресу наступним чином:
http://example.com/some/path -> http://192.168.1.24
де користувач все ще бачить оригінальну URL-адресу у своєму браузері. Після перенаправлення користувача, скажімо, він /section/index.html
переходить на посилання , ми хотіли б, щоб це створило запит, який призводить до переадресації
http://example.com/some/path/section/index.html -> http://192.168.1.24/section/index.html
і знову зберегти початкову URL-адресу.
Наші спроби включали різні рішення за допомогою проксі-серверів та правил перезапису, а нижче показана конфігурація, яка наблизила нас до рішення (зауважте, що це конфігурація веб-сервера для example.com
веб-сервера). Однак із цим все ще є дві проблеми:
- Він не виконує перезапис належним чином, оскільки URL-адреса запиту, отримана веб-сервером,
http://192.168.1.24
включає/some/path
і, отже, не обслуговує потрібну сторінку. Коли ви переходите на посилання, коли сторінка розміщена,
/some/path
її немає в URL-адресіserver { listen 80; server_name www.example.com; location /some/path/ { proxy_pass http://192.168.1.24; proxy_redirect http://www.example.com/some/path http://192.168.1.24; proxy_set_header Host $host; } location / { index index.html; root /var/www/example.com/htdocs; } }
Ми шукаємо рішення, яке включає лише зміну конфігурації веб-сервера на example.com
. Ми можемо змінити конфігурацію на 192.168.1.24
(також Nginx), проте ми хочемо спробувати уникнути цього, тому що нам потрібно буде повторити цю установку для сотень різних серверів, доступ яких проксі через example.com
.