Linux 服务器上的端口无法访问

Linux 服务器上的端口无法访问

我在我的服务器上使用 php 启动了本地服务器

php -S 0.0.0.0 8283 -t testServer/

使用curl localhost:8283我可以得到index.php文件的结果

但是当我使用我的服务器 IP 访问它时,我无法访问该端口。

无论何时我这样做netstat -tuplen。我也可以看到该端口。

如何通过 http 请求使端口 8283 可用?

我用过这个

# /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        

答案1

该选项localhost的参数-S是告诉 PHP 仅监听 localhost 或 127.0.0.1。如果希望它在外部可用,则需要使用外部 IP 地址/主机名或“0.0.0.0”,尽管快速阅读手册页并没有明确表明 0.0.0.0 可以工作。

答案2

如果您只是想测试是否可以使用该端口,请使用 Netcat:

在您的服务器上

nc -l 0.0.0.0 8283

笔记-l交换机指示 netcat到端口 8080。

在您的客户端上

telnet 1.2.3.4 8283

或者

nc 1.2.3.4 8283

相关内容