Не удается подключиться к моему Node-серверу в браузере, но curl работает - PullRequest
0 голосов
/ 05 декабря 2018

У меня есть простой сервер node.js, работающий на порте 8080 с socket.io с кодом здесь Какой пример простейшего возможного примера Socket.io? .

Когда я соединяюсь с curl, он работает нормально:

curl -vk http://www.example.com:8080 * Connected to www.example.com (123.456.789.123) port 8080 (#0)

Когда я просматриваю Chrome 70.0.3538.110 на Mac до http://www.example.com:8080, он просто продолжает загружаться, пока я не получу ERR_CONNECTION_TIMED_OUT.Я получаю тот же результат в Safari.

Однако, когда я смотрю прямо на IP, как этот http://123.456.789.123:8080, он сразу работает.

Почему это может быть?Домен указывает на правильный IP, и, видимо, он работает в curl, а также wget.Отсутствует ли какой-либо заголовок или что-то еще, что нужно браузерам?

Я нашел что-то в другом заголовке приема, это может быть связано:

Причина, по которой это не работает из вашегобраузер, вероятно, отправляет заголовок принятия что-то вроде:

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,\*/\*;q=0.8

Принимая во внимание, что curl (и предположительно расширение Chrome) запрашивает:

Accept: \*/\*

Однако у index.js есть res.writeHead(200, {'Content-Type': 'text/html'});, поэтому я думаю, что он должен отправить правильный заголовок.Также он работает в браузере с IP, так что это может быть не связано с этим.

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

...