Ubuntu
DigitalOcean NGINX 伺服器埠 80 被拒絕
我的 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 然後重新啟用它來解決它……我不知道它為什麼有效,但它有效:)