Ubuntu

DigitalOcean NGINX 伺服器埠 80 被拒絕

  • April 15, 2019

我的 digitalocean droplet 執行 nginx 作為我的 Web 伺服器時遇到了一個非常煩人的問題。UFW 被禁用並且 HTTPS 確實可以工作,但是在我家裡的 mac 上使用 CURL 的 HTTP 給了我連接被拒絕(埠 80)…

這是我對 nginx 的配置:

# return 301 https://$host$request_uri;
server {
       listen 80;
       server_name creepinson.xyz www.creepinson.xyz;
       location / {
               return 301 https://$server_name$request_uri;
       }
}

# https
server {
       root /var/www/html;
       server_name creepinson.xyz www.creepinson.xyz;
       index index.php index.html index.htm index.nginx-debian.html;
       location ~ \.php$ {
           include snippets/fastcgi-php.conf;
           fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        }

       location / {
           try_files $uri $uri/ $uri.php;
       }
       listen 443 ssl;
       ssl_certificate /etc/letsencrypt/live/creepinson.xyz/fullchain.pem; # m$
       ssl_certificate_key /etc/letsencrypt/live/creepinson.xyz/privkey.pem; #$
       include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
       ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}

我也在為我的域使用 cloudflare。我嘗試使用我的 ip,但它給了我埠 80 被拒絕,但在 cloudflare 上它說 521。我嘗試禁用 UFW(防火牆),重置 IPTables ……當我 SSH 進入 VPS 並執行 curl 時,它在埠 80 上也能正常工作-v localhost 但是當我從其他任何地方執行 curl 時它不起作用,只有 https 起作用。我只是不知道我的伺服器到底出了什麼問題。我還跑了 netstat -lntp | grep 80 結果如下:

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      8538/nginx: master

謝謝。

我通過暫時禁用 cloudflare 然後重新啟用它來解決它……我不知道它為什麼有效,但它有效:)

引用自:https://serverfault.com/questions/963029