微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

http – Nginx正在侦听端口80或443但没有响应

我的服务器工作得很好,直到几个小时前,当它以某种方式停止接听电话时,

我认为独角兽工作正常(卷曲localhost:3000作品 – 其中3000是独角兽的港口)

我跑了:

sudo netstat -anltp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      5664/MysqLd     
tcp        0      0 my.public.ip.address:80        0.0.0.0:*               LISTEN      6825/Nginx      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      2737/sshd       
tcp        0      0 0.0.0.0:3000            0.0.0.0:*               LISTEN      6389/unicorn.rb -E 
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      2934/master     
tcp        0      0 my.public.ip.address:443       0.0.0.0:*               LISTEN      6825/Nginx      
tcp        0      0 my.public.ip.address:22        a.different.ip.number:49372      ESTABLISHED 3433/sshd: user
tcp        0    232 my.public.ip.address:22        a.different.ip.number:49909      ESTABLISHED 6887/sshd: user
tcp6       0      0 :::22                   :::*                    LISTEN      2737/sshd       
tcp6       0      0 :::25                   :::*                    LISTEN      2934/master     

看来端口80和端口443都是由Nginx打开的,但是当我尝试卷曲localhost时:

$curl localhost
curl: (7) Failed connect to localhost:80; Connection refused
$curl https://localhost
curl: (7) Failed connect to localhost:443; Connection refused

ssh使用的端口22似乎工作正常.因为我通过ssh登录了盒子:

这是我的/etc/Nginx/Nginx.conf文件

user www-data;
worker_processes 4;
pid /run/Nginx.pid;

events {
    worker_connections 768;
    # multi_accept on;
}

http {

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;

    include /etc/Nginx/mime.types;
    default_type application/octet-stream;

    access_log /var/log/app/Nginx_access.log;
    error_log  /var/log/app/Nginx_error.log;

    gzip on;
    gzip_disable "msie6";

    include /etc/Nginx/conf.d/*.conf;
    include /etc/Nginx/sites-enabled/*;
}

这是我的/ etc / Nginx / sites-enabled / app文件

upstream unicorn {
  server 0.0.0.0:3000 fail_timeout=0;
}

server {
  listen my.ip.num.ber:80;
  server_name www.mydomainname.com;

  location / {
    rewrite ^ https://$server_name$request_uri permanent;
  }
}

server {
  listen my.ip.num.ber:443 ssl;
  server_name www.mydomainname.com;

  client_max_body_size 4G;
  keepalive_timeout 5;

  root /var/www/mydomainname/releases/20140417140248/public/;

  try_files $uri $uri/index.html $uri.html @unicorn;

  ssl_certificate      /srv/ssl/mydomainname.chained.crt;
  ssl_certificate_key  /srv/ssl/mydomainname.key;

  ssl_session_timeout  5m;

  ssl_protocols  SSLv2 SSLv3 TLSv1;
  ssl_ciphers  HIGH:!aNULL:!MD5;
  ssl_prefer_server_ciphers   on;


  location /assets/ {
    gzip_static on;
    expires max;
    add_header Cache-Control public;
    # alias /var/www/mydomainname/releases/20140417140248/public/;
  }


  location @unicorn {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_intercept_errors on;

    proxy_pass http://unicorn;
  }

}

从使用nmap的扫描中我看到:

$sudo nmap -sS -O 127.0.0.1

Starting Nmap 6.40 ( http://nmap.org ) at 2014-04-17 14:44 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000062s latency).
Not shown: 996 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
3000/tcp open  ppp
3306/tcp open  MysqL
No exact OS matches for host (If you kNow what OS is running on it, see http://nmap.org/submit/ ).
TCP/IP fingerprint:
OS:SCAN(V=6.40%E=4%D=4/17%OT=22%CT=1%CU=30717%PV=N%DS=0%DC=L%G=Y%TM=534FE8C
OS:8%P=x86_64-unkNown-linux-gnu)SEQ(SP=107%GCD=1%ISR=10B%TI=Z%CI=I%II=I%TS=
OS:8)OPS(O1=MFFD7ST11NW7%O2=MFFD7ST11NW7%O3=MFFD7NNT11NW7%O4=MFFD7ST11NW7%O
OS:5=MFFD7ST11NW7%O6=MFFD7ST11)WIN(W1=AAAA%W2=AAAA%W3=AAAA%W4=AAAA%W5=AAAA%
OS:W6=AAAA)ECN(R=Y%DF=Y%T=40%W=AAAA%O=MFFD7NNSNW7%CC=Y%Q=)T1(R=Y%DF=Y%T=40%
OS:S=O%A=S+%F=AS%rD=0%Q=)T2(R=N)T3(R=N)T4(R=Y%DF=Y%T=40%W=0%s=A%A=Z%F=R%O=%
OS:RD=0%Q=)T5(R=Y%DF=Y%T=40%W=0%s=Z%A=S+%F=AR%O=%rD=0%Q=)T6(R=Y%DF=Y%T=40%W
OS:=0%s=A%A=Z%F=R%O=%rD=0%Q=)T7(R=Y%DF=Y%T=40%W=0%s=Z%A=S+%F=AR%O=%rD=0%Q=)
OS:U1(R=Y%DF=N%T=40%IPL=164%UN=0%rIPL=G%rID=G%rIPCK=G%rUCK=G%rUD=G)IE(R=Y%D
OS:FI=N%T=40%CD=S)

Network distance: 0 hops

OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 12.27 seconds

任何线索?

谢谢

加成:

在使用listen 80和listen 443配置的Nginx重新启动后,这是我的新netstat:

sudo netstat -ntulp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      5664/MysqLd     
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      7845/Nginx      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      2737/sshd       
tcp        0      0 0.0.0.0:3000            0.0.0.0:*               LISTEN      6389/unicorn.rb -E 
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      2934/master     
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      7845/Nginx      
tcp6       0      0 :::22                   :::*                    LISTEN      2737/sshd       
tcp6       0      0 :::25                   :::*                    LISTEN      2934/master     
udp        0      0 0.0.0.0:57284           0.0.0.0:*                           2418/dhclient   
udp        0      0 0.0.0.0:68              0.0.0.0:*                           2418/dhclient   
udp        0      0 my.public.ip.addr:123       0.0.0.0:*                           3550/ntpd       
udp        0      0 127.0.0.1:123           0.0.0.0:*                           3550/ntpd       
udp        0      0 0.0.0.0:123             0.0.0.0:*                           3550/ntpd       
udp6       0      0 :::55187                :::*                                2418/dhclient   
udp6       0      0 ::1:123                 :::*                                3550/ntpd       
udp6       0      0 :::123                  :::*                                3550/ntpd  

解决方法:

你的Nginx听my.ip.num.ber,但你尝试连接到localhost,几乎总是127.0.0.1.你的Nginx不听这个ip.

只需从listen指令中删除my.ip.num.ber即可.让他们听80;并听443 ssl;.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐