У меня есть сервер Jenkins на моей локальной машине, который я публикую во внешнем мире через запись DNS A (ci.alanif.se:8080) с моим провайдером и переадресацией портов через два маршрутизатора.

Это прекрасно работает как снаружи, так и с любого компьютера в моей локальной сети, за исключением моего локального компьютера, где, если я использую тот же URL, браузер обычно говорит:

Server did not send any data (ERR_EMPTY_RESPONSE)

Почему это и как я могу это исправить?

Это определенно не проблема браузера (кеш, куки, ...), так как установка совершенно чистого браузера также демонстрирует это поведение. Так что я подозреваю, что переадресация портов как-то. Цикл?

1 ответ1

1

Довольно часто переадресация портов не работает при попытке доступа к службам из внутренней сети. Поведение варьируется от устройства к устройству.

Немного странно, что машины в одной и той же сети (ваша машина и другие в локальной сети, из которой вы делали тесты) ведут себя по-разному: это может быть ключевым случаем в реализации перенаправления портов на вашем маршрутизаторе, возникающим только тогда, когда IP-адрес источника такой же, как пункт назначения переадресации портов, но я просто догадываюсь.

Наиболее распространенным решением для вашего варианта использования является настройка локального DNS-сервера для разрешения (только внутри) публичного имени хоста на внутренний IP-адрес.

Как преимущество, которое позволяет избежать принудительного локального трафика через маршрутизатор.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .