![停止 nginx 在没有主机的情况下提供服务](https://linux22.com/image/780237/%E5%81%9C%E6%AD%A2%20nginx%20%E5%9C%A8%E6%B2%A1%E6%9C%89%E4%B8%BB%E6%9C%BA%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E6%8F%90%E4%BE%9B%E6%9C%8D%E5%8A%A1.png)
如果我在浏览器中或使用 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 代码含义连接关闭且无响应