我在服务器上使用php启动了本地服务器。 (尝试使用端口8080/8283。他们中的任何人都可以。)
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 OUTPUT
/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
答案 0 :(得分:2)
试
php -S 0.0.0.0 8080 -t testServer/
使用localhost
,您只会绑定127.0.0.1
地址:该地址无法通过其他地址而非localhost
或localhost.localdomin
访问。
现在通过使用0.0.0.0
,您将绑定所有接口。或者,您可以使用您希望公开服务的主机地址。
答案 1 :(得分:1)
您不必使用localhost,您必须使用外部IP地址:
php -S <ip-address> 8080 -t testServer/
localhost映射到ip 127.0.0.1
,因此只能从yor服务器上获取。
答案 2 :(得分:-1)
您明确绑定到localhost
。如果要绑定到其他IP地址,请指定它而不是localhost
(或对所有网络接口使用0.0.0.0
。)