Назад | Перейти на главную страницу

Порт недоступен на сервере Linux

Я запустил локальный сервер, используя php на моем сервере

php -S 0.0.0.0 8283 -t testServer/

с помощью curl localhost:8283 Я могу получить результат index.php файл

но когда я обращаюсь к нему с помощью своего IP-адреса сервера, я не могу получить доступ к этому порту.

Любой, когда я это сделаю netstat -tuplen . Я тоже вижу этот порт.

Как сделать порт 8283 доступным через HTTP-запрос?

Я использовал это

# /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8283 -j ACCEPT
# service iptables save
# service iptables restart 

и все равно это не сработало

И это вывод telnet на моем сервере

telnet XX.XX.X.XXX 8283
Trying XX.XX.X.XXX...
Connected to XX.XX.X.XXX.
Escape character is '^]'.
GET /

HTTP/0.9 200 OK
Connection: close
X-Powered-By: PHP/5.5.19
Content-type: text/html

Hello World !Connection closed by foreign host.

это с моего ПК

telnet XX.XX.X.XXX 8283
Trying XX.XX.X.XXX...
telnet: Unable to connect to remote host: No route to host

Результат NMAP

sudo nmap -p 8283 XX.XX.X.XXX

Starting Nmap 5.21 ( http://nmap.org ) at 2015-02-04 19:18 IST
Nmap scan report for srv1.domain.com (XX.XX.X.XXX)
Host is up (0.035s latency).
PORT     STATE    SERVICE
8283/tcp filtered unknown

Nmap done: 1 IP address (1 host up) scanned in 0.37 seconds

ВЫХОД IPTABLES

/sbin/iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:8282 
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:8283 state NEW,ESTABLISHED 

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination        

Если вы хотите просто проверить, можете ли вы использовать порт, используйте Netcat:

На вашем сервере

nc -l 0.0.0.0 8283

Заметка: The -l переключатель указывает netcat на Слушать в порт 8080.

На вашем клиенте

telnet 1.2.3.4 8283

или

nc 1.2.3.4 8283

Ваш localhost параметр к -S опция сообщает PHP, чтобы он слушал только localhost или 127.0.0.1. Если вы хотите, чтобы он был доступен извне, вам нужно использовать либо внешний IP-адрес / имя хоста, либо «0.0.0.0», хотя быстрое чтение страницы руководства явно не указывает на то, что 0.0.0.0 будет работать.