1

我有一台服务器正在使用Nginx 的 444 断开与未定义主机的连接

server {
    listen      80;
    server_name "";
    return      444; 
}

但我不知道如何测试它是否有效。

以下是我尝试过的一些事情,在黑暗中刺伤:

$ curl -I mysite.com --header 'Host: ""'
HTTP/1.1 301 Moved Permanently

$ curl -I mysite.com --header ''
HTTP/1.1 301 Moved Permanently

我正在努力获得444!

这是我的 nginx mysite.conf文件的相关部分

server {
    listen 80;
    server_name "";
    return 444;
}

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name _;
    return 301 https://$host$request_uri;
}

所以要么我测试错了,要么我测试正确,但丢失的主机头仍然被我的第二个服务器块捕获并重定向。

4

1 回答 1

0

这适用于 curl 7.47:

curl -I --header Host: mysite.com

请注意,标头选项的参数只是Host:'Host: '并且'Host: ""'不起作用)

最新版本的 curl 可能有一个--http0.9选项可以得到相同的结果,但我没有测试它。

于 2020-06-06T19:27:59.330 回答