Это почти наверняка проблема NAT. Я предполагаю, что ваш веб-сервер расположен за маршрутизатором NAT, и вы перенаправили некоторый порт (вероятно, 80) с внешнего интерфейса маршрутизатора на порт 80 на вашем сервере. Я также предполагаю, что вы пытаетесь получить доступ к своему веб-сайту либо с помощью имени, которое разрешается на ваш внешний IP-адрес (возможно, динамическое DNS-имя), либо вы пытаетесь получить к нему прямой доступ с помощью этого внешнего IP-адреса. Это, вероятно, не будет работать «из коробки», так как большинство маршрутизаторов NAT предоставляют сопоставление портов только для пакетов, поступающих на внешний интерфейс маршрутизатора.
Если вышеизложенное верно, есть четыре возможных решения:
Посмотрите на конфигурацию вашего роутера и попробуйте найти что-то похожее на "NAT loopback", "Ext-int loopback" или тому подобное. Это будет указывать маршрутизатору обрабатывать пакеты, поступающие из внутреннего интерфейса и предназначенные для внешнего IP, точно так же, как он будет обрабатывать пакеты, поступающие из внешнего интерфейса, эффективно корректно зацикливая трафик. Это вызовет переадресацию портов, и ваш сайт будет работать. Не у всех роутеров есть эта опция, но если у вас она есть, это будет самое надежное решение. Если у вас нет, вы также можете попробовать сменить его прошивку на одну из бесплатных, которая поддерживает ваш маршрутизатор (Tomato, OpenWRT, DD-WRT и т. Д.). Я успешно использовал Tomato для таких сценариев.
Используйте внутренний IP, когда вы находитесь позади маршрутизатора, и внешний, когда снаружи.
Добавьте используемое DNS-имя в свой собственный файл hosts, чтобы оно соответствовало внутреннему IP-адресу. Это достигнет (3) автоматически при доступе к имени с вашего собственного хоста. Вам придется повторить это для каждого хоста позади вашего маршрутизатора.
Запустите собственный DNS-сервер за маршрутизатором, сделайте так, чтобы он наделил вас полномочиями над вашей DNS-записью и разрешил ее для внутреннего IP-адреса, одновременно перенаправляя другие DNS-запросы на ваш фактический сервер имен.