seb*_*piq 30 firewall webserver
我试图在 Ubuntu 12.04 上打开端口 3000,因为我有一个 Web 服务器在那里监听。我在这里有点不适应,花了很多时间试图解决这个问题,但没有成功。
端口似乎在防火墙中打开:
$> sudo ufw status
Status: active
To Action From
-- ------ ----
...
3000/tcp ALLOW Anywhere
3000/tcp ALLOW Anywhere (v6)
Run Code Online (Sandbox Code Playgroud)
服务器正在该端口上正常侦听:
$> netstat -an | grep "LISTEN "
...
tcp 0 0 127.0.0.1:3000 0.0.0.0:* LISTEN
...
Run Code Online (Sandbox Code Playgroud)
我什wget
至可以对索引页进行处理:
$> wget localhost:3000
Connecting to localhost (localhost)|127.0.0.1|:3000... connected.
HTTP request sent, awaiting response... 200 OK
Run Code Online (Sandbox Code Playgroud)
收到的文件包含我期望的内容(“hello world”:)。
但是,当从另一台计算机尝试时,或者如果我wget mydomain.com:3000
得到"connection refused"
,并且 nmap 告诉我端口未打开:
$> nmap -A -T4 mydomain.com
Host is up (0.00032s latency).
...
Not shown: 999 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 5.9p1 Debian 5ubuntu1 (protocol 2.0)
...
Service Info: OS: Linux
Run Code Online (Sandbox Code Playgroud)
知道我接下来应该尝试什么吗???
编辑
这是 traceroute 给出的内容:
$> traceroute mydomain.com
traceroute to mydomain.com (176.31.x.x), 30 hops max, 60 byte packets
1 mydomain.com (176.31.x.x) 0.034 ms 0.013 ms 0.010 ms
Run Code Online (Sandbox Code Playgroud)
dob*_*bey 24
如果您的服务器仅在 localhost 接口上侦听,您将无法从远程计算机访问它。这似乎是您的主要问题,因为您的 netstat 输出中只列出了 127.0.0.1:3000。
您还需要确保“mydomain.com”解析为您机器的正确 IP 地址,以便连接到它会导致与该机器的外部接口进行通信。
小智 20
我最近在使用 nodejs HTTPS 服务器时遇到了这个问题,解决方案不是使用“localhost”、“127.0.0.1”甚至域名。它是使用“0.0.0.0”
我相信这是一个通配符,现在允许通过域名进行公共解析,它也适用于“localhost”
编辑:这是 0.0.0.0 主题上的 serverfault 页面的链接:https : //serverfault.com/questions/78048/whats-the-difference-between-ip-address-0-0-0-0-and- 127-0-0-1
归档时间: |
|
查看次数: |
274135 次 |
最近记录: |