Я борюсь с этим с 1 дня, пробую взад и вперед и не знаю, как решить, потому что я довольно новичок в nginx.
Следующая ситуация: у меня нагрузка на веб-сайт сбалансирована за nginx, что яможет получить доступ только через SSH туннель на данный момент.Поскольку веб-инфраструктура за этим туннелем, кажется, борется, когда у меня есть порт в URL, моя идея состояла в том, чтобы установить локальный nginx, который переписывает URL, чтобы пропустить порт туннеля.Таким образом, это будет:
локальный nginx (порт 80) -> туннель -> удаленный nginx (порт 443) -> восходящий канал nginx (порты 9002 и 9003) -> веб-сайт (на apache)
Но тут возникает проблема: всякий раз, когда меня перенаправляют обратно из Google OAuth на веб-сайт, я получаю еще 301 к: 9002 или: 9003, что явно неверно для локального, потому что эти порты никогда не должны быть открыты.Я должен просто остаться на: 80.
Мои конфиги:
(локальный) Конфигурация nginx
server {
listen 80;
server_name <domain>;
location / {
proxy_pass https://<host-with-tunnel>:2226;
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffers 32 4k;
}
}
(удаленный) nginxКонфигурация сайта
upstream myself {
server 127.0.0.2:9002;
server 127.0.0.3:9003;
}
server {
listen 443 default_server ssl;
listen [::]:443 default_server ssl;
...
location ~ ^/[a-z]+/public {
proxy_pass http://myself;
include /etc/nginx/proxy.conf;
}
proxy_next_upstream error timeout http_503 http_502 http_500 http_404 http_403;
}
server {
listen 127.0.0.2:9002;
location /app/public/ {
proxy_pass http://127.0.0.1/app_a/public/;
include /etc/nginx/proxy.conf;
}
}
server {
listen 127.0.0.3:9003;
location /app/public/ {
proxy_pass http://127.0.0.1/app_b/public/;
include /etc/nginx/proxy.conf;
}
}
(удаленно) /etc/nginx/proxy.conf
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffers 32 4k;
Заранее спасибо за ваше время и усилия!