Nginx 监听不同的端口但无法从外部访问

Nginx 监听不同的端口但无法从外部访问

操作系统:Ubuntu 12.04

我同时运行着 Apache 和 Nginx。Apache 监听的是 80 端口,因此我想让 Nginx 监听不同的端口,在本例中是 90 端口。

下面是配置/etc/nginx/sites-available/example.com(是的,符号链接已创建):

server {
    listen 90 default_server;

    server_name www.example.com.pl;
    root /var/www/example.com;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ /index.html;
    }
}

我已经配置了防火墙并ufw status显示:

To                         Action      From
--                         ------      ----
90                         ALLOW       Anywhere
...

我还在 iptables 中添加了规则:

Chain INPUT (policy DROP)
target     prot opt source               destination  
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:90
...

演出nmap 12.34.567.89

Nmap scan report for www.example.com.pl (12.34.567.89)
Host is up (0.00046s latency).
Not shown: 991 closed ports
PORT     STATE SERVICE
25/tcp   open  smtp
80/tcp   open  http
90/tcp   open  dnsix
...

下面是输出netstat -tulpn

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:90              0.0.0.0:*               LISTEN        26902/nginx
...

index.html包含<h1> Nginx TEST </h1>,当我从服务器执行时wget www.example.com.pl:90,我可以毫无问题地下载文件。但是,当我尝试telnet从本地计算机访问 URL 时,它无法连接。当我www.example.com.pl:90在浏览器中输入时,它显示ERR_CONNECTION_TIMED_OUT。一切都表明端口 90 对外部连接关闭。这就是我迷路的地方。有什么想法或建议吗?

PS:请原谅,这是我的第一篇帖子 :)

相关内容