Рейтинг:0

Обратный прокси-сервер nginx — proxy_pass приводит к 503 сервису, недоступному

флаг cn

у меня должна быть следующая конфигурация:

сервер {

    слушать: 8080;
 
    место расположения / {
        proxy_pass https://somehost.abc.xyz;
        прокси_перенаправление выключено;
        proxy_set_header Хост somehost.abc.xyz;
        proxy_set_header X-Real-IP somehost.abc.xyz;
        proxy_set_header X-Forwarded-For somehost.abc.xyz;
        proxy_set_header X-Forwarded-Host somehost.abc.xyz;
        proxy_set_header ПРИВЕТ, пицца;
    }

}

Всякий раз, когда я нажимаю на прокси-сервер, скажем, я иду по адресу http://localhost:8080/home , я получаю 503 служба недоступна (не из службы nginx, из приложения, к которому я пытаюсь перейти https://somehost.abc.xyz/домашний).

Но если я просто пойду в https://somehost.abc.xyz/домашний или сделать редирект вернуть 301 https://somehost.abc.xyz/home; все хорошо, и я добираюсь до приложения. Хотя это мне не помогает, потому что я хочу попасть туда через прокси-сервер, чтобы я мог добавлять заголовок запроса к каждому проходящему запросу.

Любые идеи, что может быть причиной этого и как это решить?

Michael Hampton avatar
флаг cz
Проверьте журналы вашего приложения.
kevin avatar
флаг cn
@MichaelHampton somehost.abc.xyz не является моим приложением, я должен был указать это в вопросе
Michael Hampton avatar
флаг cz
Вам придется обратиться за помощью к тому, кто запускает это приложение.
kevin avatar
флаг cn
@MichaelHampton Да, он сказал, что не знает, почему это происходит, есть идеи, что может быть причиной?
Michael Hampton avatar
флаг cz
Если он не знает, то ни у кого нет никакой надежды. Я думаю, он просто пытается избавиться от тебя. Он, безусловно, _способен_ понять, почему это не работает. Если он не расследовал, то он, вероятно, не хочет, чтобы вы делали то, что пытаетесь сделать.
kevin avatar
флаг cn
@MichaelHampton, он просто не хочет помогать, потому что, я думаю, это не его проблема.
Michael Hampton avatar
флаг cz
Вам придется как-то с ним это уладить.
Gerard H. Pille avatar
флаг in
Знаете ли вы, для чего используются такие заголовки, как X-Forwarded-For и X-Real-IP?
kevin avatar
флаг cn
@MichaelHampton, я поговорил с парнем, он сказал, что покажет мне журналы в воскресенье, надеюсь, я лучше пойму проблему, и у меня будет больше информации о проблеме.
kevin avatar
флаг cn
X-заголовки @GerardH.Pille содержат информацию о происхождении запроса, например, x-forwarded-for предназначен для идентификации IP-адреса клиента (пользователя), который подключился через прокси.x-real-ip содержит IP-адрес пользователя.
Gerard H. Pille avatar
флаг in
Если вы это знаете, то зачем помещать в них имя хоста приложения?
kevin avatar
флаг cn
@GerardH.Pille, потому что я не вижу причин, по которым нас волнует значение этих заголовков, или я ошибаюсь, и я должен заботиться о них?
Gerard H. Pille avatar
флаг in
Если вы хотите общаться, вы не говорите глупостей.
djdomi avatar
флаг za
ИМХО, если место назначения не в ваших руках, этот вопрос будет оффтопом из-за того, что это может быть также вредоносное ПО или попытка спуфинга, и это определенно не должно поддерживаться bw.
Рейтинг:1
флаг us

Попробуйте использовать серверный порт на адресе proxy_pass, и является ли заголовок «HELLO» допустимым для серверного приложения?

сервер {
            слушать: 8080;
     
            место расположения / {
                proxy_pass https://somehost.abc.xyz:443;
                прокси_перенаправление выключено;
                proxy_set_header Хост somehost.abc.xyz;
                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 your.host.address;
                proxy_set_header ПРИВЕТ, пицца;
    
                
                proxy_ssl_server_name включено;
                proxy_ssl_name somehost.abc.xyz;
                # По желанию
                proxy_ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
                proxy_ssl_ciphers 'Необходимые шифры SSL';
                proxy_ssl_trusted_certificate "/path/to/your/ca-cetificates.crt";
            }
        }

РЕДАКТИРОВАТЬ: используя SSL Backend, вы должны определить proxy_ssl_name если у вас нет серверных ssl-сертификатов

djdomi avatar
флаг za
как указано, пользователь пытается использовать rpoxy на чужом сервере. добавление oort к запросу по умолчанию на порту по умолчанию не требуется и может привести в некоторых ситуациях к совершенно другой цели.
Imran Nababan avatar
флаг us
я вижу .. проблема в том, что он/она пытается перевернуть прокси по протоколу SSL, должен использовать proxy_ssl_protocols и шифры, а также proxy_ssl_name

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.