1

У меня есть мини-http-сервер, работающий через порт 9999 , когда я тестирую на canyouseeme.org, он проходит успешно, и на секунду я вижу клиента, подключенного к моему серверу.
Тем не менее, если я пытаюсь ввести свой внешний IP, а затем порт 9999 я получаю сообщение об отказе в соединении в Chrome и других браузерах.
Я попытался переустановить Windows, отключив брандмауэр, добавив исключение в брандмауэр, но безуспешно.

Редактировать: я также пытался отключить Защитник Windows, единственный av у меня есть.

Edit2: я пытаюсь ввести свой внешний IP на том же компьютере, на котором работает http-сервер. Мой роутер D-Link DSL-2790U

2 ответа2

2

Чтобы протестировать службу (по общедоступному адресу IPv4), работающую в вашем доме за домашним маршрутизатором NAT, вы должны быть вне вашего дома. Большинство таких маршрутизаторов не поддерживают закрепление, то есть NAT'-запрос на внешний IP-адрес, когда он поступает на интерфейс, отличный от того, на котором настроен внешний IP-адрес.

0

Спасибо @ user4556274. Основываясь на его теории, теперь у меня есть решение: я использую прокси-сервер для тестирования своего локального сервиса.

Мой собственный маршрутизатор не работал с NAT, и я мог проверить его напрямую, используя мой публичный IP или DDNS.

Ситуация изменилась после того, как я использовал маршрутизатор моего провайдера, и я не знал, что он предоставляет NAT, поэтому мои локальные тесты всегда терпели неудачу с "отказано в соединении". Но все сайты "теста переадресации портов" проверены - порт открыт.

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

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