如果我在浏览器中或使用 curl 访问我的服务器 ip 地址(例如:)curl -v http://5.5.5.5/
,nginx 会将 http 重定向到 https(ip 地址作为主机),然后为我的网站提供服务。如果我直接使用,也会发生同样的事情https://ip addr
。如果没有域名,如何阻止 nginx 提供服务?(即https://my-domain.com)
我尝试将我的域名放在 443 后面,但 nginx 抱怨该参数不应该在那里(nginx 1.18)。我尝试检查是否有意外捕获,但grep -r "_;"
没有结果
server {
listen 443 ssl; # managed by Certbot
listen [::]:443 ssl ipv6only=on; # managed by Certbot
server_name example.com;
...
}
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}
答案1
您可以添加新的服务器块来定义default_server
示例:
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name <your IPs>;
return 444;
}
444 HTTP 代码含义连接关闭且无响应