如何使用不带“主机”头字段的请求测试服务器

问题描述 投票:0回答:1

我有一台正在使用Nginx's 444 to drop connections to undefined hosts的服务器:

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;
}

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

nginx curl nginx-config server-name
1个回答
0
投票

这适用于curl 7.47:

curl -I --header Host: mysite.com

请注意,标头选项的参数仅为Host:'Host: ''Host: ""'无效)

© www.soinside.com 2019 - 2024. All rights reserved.