Я думал, что процесс веб-сервера, который я вызывал, слушал localhost:8080, и пытался подключиться к нему, но продолжал получать ошибки сброса соединения. Как оказалось, я ошибся, и мой процесс прослушивал совершенно другой порт.
Однако я не могу понять, почему я получаю ошибки сброса соединения, а скорее "отказано в соединении", которое вы обычно получаете, если ни один процесс не прослушивает этот порт. Насколько я могу судить, 8080 не слушает ничего другого:
$ sudo lsof -i -P | grep 8080
# no result
$ sudo netstat -a -n | grep 8080
# still no result
Все же соединения с этим портом первоначально приняты (хотя закрыты на дальнейших данных):
$ /usr/local/bin/wget localhost:8080
--2014-01-14 16:29:22-- http://localhost:8080/
Resolving localhost... ::1, 127.0.0.1, fe80::1
Connecting to localhost|::1|:8080... failed: Connection refused.
Connecting to localhost|127.0.0.1|:8080... connected.
HTTP request sent, awaiting response... No data received.
Аналогично с telnet:
$ telnet localhost 8080
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Попытка других случайных портов только приводит к ошибке ожидаемого соединения:
$ telnet localhost 8081
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
Trying fe80::1...
telnet: connect to address fe80::1: Connection refused
telnet: Unable to connect to remote host
Мой файл hosts - это кости:
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost