Найближчим часом у мене буде 3 сервери nginx. Один - це зворотний проксі для SSL для двох інших. Так, наприклад, я переходжу до:
https://www.mysitename.com/site1
Два інших сервери в цьому прикладі - це site1 та site2. Я встановив сертифікат SSL на проксі і хочу використовувати зворотний проксі (SSL не потрібно, оскільки всі 3 знаходяться у внутрішній мережі). Для цілей тестування я маю nginx слухати 443 для SSL / reverse-proxy, слухайте далі порт 8081, що є додатком для рейків для site1, а 8082 - для site2.
Я маю це ...
server {
listen 443;
server_name mysitename.com;
ssl on;
ssl_certificate ssl/mysitename.com.crt;
ssl_certificate_key ssl/mysitename.com.key;
keepalive_timeout 60;
location /site1 {
proxy_pass http://localhost:8081;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect http:// https://;
}
location /site2 {
proxy_pass http://localhost:8082;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect http:// https://;
}
}
Отже, коли я відвідую www.mysitename.com/site1, я хочу, щоб він в основному повертав те, що зазвичай походить від localhost: 8081 (або пізніше вниз за внутрішньою IP-адресою іншого сервера).
Чи є спосіб, щоб він зняв "site1" з виклику localhost? Здається, це використання localhost: 8081 / site1. Сайти site1 та site2 мають характер "/ login / index" або "/ what / list" тощо, без "site1".
Також у контролерах сайту є переспрямування (використовуючи redirect_to), які переходять від таких речей, як / login / index до / what / list.
Мені доведеться переробляти URL-адреси веб-сайту, щоб використовувати сайт1? Або проксі-сервер NGINX може це зрозуміти?
Спасибі.