Azure: Как получить доступ к моему серверу Ubuntu в браузере?

Моя текущая установка включает брандмауэр pfSense, порт которого перенаправляет общедоступный трафик глобальной сети на внутренний IP-адрес NAT.

Пример:

  • 104.12.134.12:80 (WAN IP) порт перенаправляет весь трафик на 192.168.1.104:80

Это работает должным образом, трафик перенаправляется правильно. Проблема, с которой я столкнулся, заключается в том, что я вижу локальный IP-адрес (т.е. IP-адрес маршрутизатора pfSense, в данном случае 192.168.1.1) в журналах Nginx.

Я провел поиск, и множество статей предлагают использовать модуль real_ip и установить заголовок X-Forwarded-For, но это не работает.

Примечания:

  • IP моего маршрутизатор отличается от IP-адресов, с которых я перенаправляю порт (это сделано намеренно).
  • У меня нет 104.12.134.12, это всего лишь пример. RewriteRule "^ / (. *)" "/" [L] Например ...

    Как мне написать RewriteRule , которое сначала проверяет, существует ли запрошенный файл, а если нет, перенаправляет на корневую страницу:

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule "^/(.*)" "/" [L]
    

    Например http://example.com/not_existing_file следует перенаправить на http://example.com .

    Однако это не работает. Что здесь не так?

2
задан 22 December 2016 в 05:14
1 ответ
 RewriteCond% {REQUEST_FILENAME}! -F
RewriteRule "^ / (. *)" "/" [L]
 

Ваше условие , проверяющее, что запрос не отображается в существующий файл, кажется правильным. Однако ваше RewriteRule не перенаправляет , вместо этого внутренне перезаписывает запрос. Также может возникнуть цикл перезаписи (ошибка 500)?

Попробуйте вместо этого следующее:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/. / [R=302,L]

Здесь требуется флаг R для запуска внешнего перенаправления . Это приведет к перенаправлению только / , а не / , как в исходном коде.

Измените 302 (временное) перенаправление на 301 (постоянно), если вы уверены, что все работает нормально - если это то, что требуется. Облегчает тестирование, поскольку в противном случае файлы 301 кэшируются жестко браузером.

Это также предполагает, что это находится в конфигурации основного сервера, а не в .htaccess или раздел.

2
ответ дан 3 December 2019 в 11:30

Теги

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