Nginx 如何在没有“;主机&x201D;标题字段
我有一台服务器正在使用: 但我不知道如何测试它是否有效 以下是我在黑暗中尝试过的几件事:Nginx 如何在没有“;主机&x201D;标题字段,nginx,curl,nginx-config,server-name,Nginx,Curl,Nginx Config,Server Name,我有一台服务器正在使用: 但我不知道如何测试它是否有效 以下是我在黑暗中尝试过的几件事: $ curl -I mysite.com --header 'Host: ""' HTTP/1.1 301 Moved Permanently $ curl -I mysite.com --header '' HTTP/1.1 301 Moved Permanently 我正试着去拿444 以下是我的nginxmysite.conf文件的相关部分 server { listen 80;
$ curl -I mysite.com --header 'Host: ""'
HTTP/1.1 301 Moved Permanently
$ curl -I mysite.com --header ''
HTTP/1.1 301 Moved Permanently
我正试着去拿444
以下是我的nginxmysite.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;
}
因此,要么我测试错误,要么我测试正确,但丢失的主机头仍然被我的第二个服务器块捕获并重定向 这适用于curl 7.47:
curl-I——头主机:mysite.com
请注意,标题选项的参数只是Host:
('Host:'
和'Host:'
将不起作用)
curl的最新版本可能有一个
--http0.9
选项,可以得到相同的结果,但我没有测试它 这适用于curl 7.47:
curl-I——头主机:mysite.com
请注意,标题选项的参数只是Host:
('Host:'
和'Host:'
将不起作用)
curl的最新版本可能有一个
--http0.9
选项,可以得到相同的结果,但我没有测试它 要检查您的服务器在没有HTTP主机
标头的情况下如何处理请求(您应该通过其IP地址进行访问),并且您试图以错误的方式配置服务器,这是一个有效的示例。举个例子:假设您的服务器具有IP地址1.2.3.4
,并且它所服务的域名是example.com
,命令curl-I example.com
和curl-I 1.2.3.4--header'Host:example.com
是等效的。您可以尝试:curl--http1.0
—但是如果服务器名为“”,我会感到惊讶
匹配没有主机
头的请求-我希望Nginx使用默认的\u服务器
。要检查没有HTTP主机
头的服务器如何处理请求,您应该通过其IP地址进行访问),并且您试图以错误的方式配置服务器,正在运行示例。给您一个示例:假设您的服务器具有IP地址1.2.3.4
,并且它提供的域名是example.com
,命令curl-I example.com
和curl-I 1.2.3.4--header'Host:example.com
是等效的。您可以尝试:curl--http1.0
—但是如果服务器名为“”,我会感到惊讶
匹配没有主机
头的请求-我希望Nginx使用默认\u服务器
。
server {
listen 80;
server_name "";
return 444;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
return 301 https://$host$request_uri;
}