Почему я не могу поговорить с сервисом на TCP / 3000 на моем CentOS VPS - PullRequest
0 голосов
/ 21 декабря 2018

Я пытаюсь запустить второй веб-сервис на моем VPS на порту 3000.

На VPS, который я запускаю:

# php -S myhost.com:3000

, а затем в браузере перейдите к http://myhost.com:3000 но время ожидания браузера и служба ничего не регистрирует / выводит.

Если я запускаю службу через порт 80 (то есть php -S myhost.com:80 иперейдите к http://myhost.com),, это работает.

Итак, брандмауэр. Кроме этого:

[root@spinal ~]# firewall-cmd --list-ports
3887/tcp 3000/tcp

(3887 - это еще одна служба, которая работает правильно.) И я перезагрузил VPS после настройки порта 3000 в брандмауэре. Я считаю, что служба прослушивает правильно, потому что:

[root@spinal ~]# netstat -tupl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:imap            0.0.0.0:*               LISTEN      1907/dovecot        
tcp        0      0 0.0.0.0:ciphire-data    0.0.0.0:*               LISTEN      1876/sshd           
tcp        0      0 0.0.0.0:http            0.0.0.0:*               LISTEN      1903/nginx: master  
tcp        0      0 0.0.0.0:urd             0.0.0.0:*               LISTEN      2004/master         
tcp        0      0 myhost.com:hbci         0.0.0.0:*               LISTEN      2206/php            
tcp        0      0 localhost.loca:postgres 0.0.0.0:*               LISTEN      1908/postgres       
tcp        0      0 0.0.0.0:smtp            0.0.0.0:*               LISTEN      2004/master         
tcp        0      0 0.0.0.0:https           0.0.0.0:*               LISTEN      1903/nginx: master  
tcp        0      0 0.0.0.0:imaps           0.0.0.0:*               LISTEN      1907/dovecot        
tcp        0      0 localhost.lo:cslistener 0.0.0.0:*               LISTEN      1878/php-fpm: maste 
tcp6       0      0 [::]:imap               [::]:*                  LISTEN      1907/dovecot        
tcp6       0      0 [::]:ciphire-data       [::]:*                  LISTEN      1876/sshd           
tcp6       0      0 [::]:urd                [::]:*                  LISTEN      2004/master         
tcp6       0      0 [::]:smtp               [::]:*                  LISTEN      2004/master         
tcp6       0      0 [::]:imaps              [::]:*                  LISTEN      1907/dovecot

Однако я могу подключиться локально. Это работает при запуске на VPS:

$ curl http://myhost.com:3000

, чтобы он снова указывал на брандмауэр. Но отключение брандмауэра не помогает:

# systemctl stop firewalld

, поэтому может быть проблемой DNS: мой браузер иVPS различаются в зависимости от того, что разрешает myhost.com. За исключением того, что, как упоминалось выше, переключение на порт 80 решает проблему.с заходом на порт 3000, снаружи.Но не firewalld.

Вопрос в Не удается связаться с nodejs на порту 3000 из внешнего порта в CentOS 7 , но он близок к моему, но не дает окончательного ответа.

1 Ответ

0 голосов
/ 21 декабря 2018

Я чувствую себя довольно глупо.Это был брандмауэром;не на VPS, а в моей локальной сети.Когда я попробовал это на машине, которая не проходит через мою локальную сеть, это сработало.Я надеюсь, что мое публичное признание поможет кому-то еще.

...