У меня есть мой сервер (Debian Wheezy) в моей локальной домашней сети. На этом сервере у меня есть собственный DNS-сервер (dnsmasq) для других локальных серверов (поэтому я могу ввести имя вместо локального IP-адреса) и обратный прокси-сервер (nginx). На моем маршрутизаторе я настроил переадресацию портов 80 и 443 на мой обратный прокси, и все работает просто замечательно. Но только из-за пределов моей сети.
Когда я набираю myaddress.com, зарегистрированный на общедоступных DNS-серверах, это нормально. Но когда я набираю это с моего локального адреса, я ничего не получил. Я могу получить к нему доступ только введя локальное имя или IP. Под ничем я не имею в виду "данные не получены". Например:
$ wget myaddress.com
--2016-06-01 19:53:46-- http://myaddress.com/
Resolving myaddress.com... 80.243.xx.yy
Connecting to myaddress.com|80.243.xx.yy|:80... connected.
HTTP request sent, awaiting response... No data received.
Retrying.
Но когда я получаю к нему доступ по локальному IP:
$ wget myaddress.local
--2016-06-01 19:57:13-- http://myaddress.local/
Resolving myaddress.local... 192.168.0.111
Connecting to 192.168.0.111... connected.
HTTP request sent, awaiting response... 200 OK
В журнале nginx я вижу, что запрос был получен и он ответил. Поэтому я использовал tcpdump, чтобы проверить, что происходит. Обычный дамп при доступе из-за пределов моей сети:
19:37:31.455120 IP myphone > mylocalreverseproxy: Flags [P.], seq 1824665393:1824665988, ack 2996933611, win 336, options [nop,nop,TS val 1206547844 ecr 217767803], length 595
E....F..,.)0B.]....e...Pl./1.......P.......
G.u....{GET / HTTP/1.1
Host: myaddress.com
...other headers...
19:37:31.455241 IP mylocalreverseproxy > myphone: Flags [P.], seq 1:725, ack 595, win 55, options [nop,nop,TS val 217767807 ecr 1206547844], length 724
E...L.@.@.._...eB.]..P......l.1....7.......
....G.u.HTTP/1.1 404 Not Found
Server: nginx/1.8.0
Date: Wed, 01 Jun 2016 17:37:31 GMT
И tcpdump, когда я пытаюсь получить доступ в локальной сети:
19:35:25.085344 IP localchromebook > mylocalreverseproxy: Flags [P.], seq 0:390, ack 1, win 115, options [nop,nop,TS val 537594624 ecr 217735412], length 390
E...-M@.>..........e...P.v.4...Y...s.......
.....`.GET / HTTP/1.1
Host: myaddress.com
...other headers...
И ничего. Соответственно еще одна попытка в течение нескольких минут. И еще и так далее.
Я не администратор, поэтому я не уверен, что попробовать и где искать дальше, чтобы увидеть, что не так, и исправить это. Должен заметить, что около года назад он работал просто отлично, но однажды он начал это делать, и с тех пор я не смог это исправить. Что бы вы посоветовали попробовать?