Как изменить порт перенаправления, полученного nginx?

Я установил nginx на своем сервере. Он получает все запросы и передает их серверу IIS за ним. Моя проблема в том, что мой сайт работает на порте 2000, иногда он отправляет перенаправления на nginx, которые содержат порт 2000, и после этого пользователи перенаправления не будут проходить через nginx. Я хочу переписать правило в моем nginx, чтобы получить все перенаправления и установить порт на 80, чтобы пользователи не переходили напрямую в IIS. Я также могу исправить это, изменив код C #, но я не хочу вносить изменения в код.

1
задан 2 November 2016 в 07:39
2 ответа

Поместите это в свою конфигурацию nginx:

port_in_redirect off;

http://nginx.org/en/docs/http/ngx_http_core_module.html

0
ответ дан 4 December 2019 в 05:39

Я не уверен, что у меня получилось, но я попробую.

Насколько я понимаю, у вас A работает NGINX прослушивание: 80 (возможно: 443) и A или B (не знаю, работает ли IIS на том же компьютере, хотя я считаю, что нет, поскольку пользователи, похоже, могут связаться с ним напрямую), запуск IIS, прослушивающий: 20000.

Если A работает с обоими, вам не повезло, вы не можете заставить NGINX и IIS привязаться к одному и тому же порту, поэтому вы не сможете сделать это через NGINX. Однако вы можете использовать свой брандмауэр, чтобы запросы, сделанные на: 20000, которые не поступают с localhost, передавались на: 80. Это также работает во втором случае, если вы захотите пойти по этому пути.

Если A работает с NGINX, а B - с IIS, вы всегда можете указать NGINX, чтобы он слушал: 20000 и передать его IIS.

В любом случае, если IIS не предназначен для доступа с помощью других средств, кроме NGINX, вы должны иметь правило брандмауэра, предотвращающее доступ к нему извне.

0
ответ дан 4 December 2019 в 05:39

Теги

Похожие вопросы