У 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.