我的 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 -v localhost 时,它也可以在端口 80 上完美运行,但当我从其他任何地方运行 curl 时,它不起作用,只有 https 可以运行。我只是不知道我的服务器到底出了什么问题。我还运行了 netstat -lntp | grep 80,结果如下:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 8538/nginx: master
谢谢。
答案1
我通过暂时禁用 cloudflare 然后重新启用它解决了这个问题...我不知道为什么它有效但它有效:)