nginx 和主机头中主机名带有 @ - 提供错误的站点

nginx 和主机头中主机名带有 @ - 提供错误的站点

我为我的 nginx 设置了一个默认服务器,它应该响应所有基于 IP 的请求,以及所有伪造的请求和其他请求。这几乎总是有效的。

请求如下所示的站点将从我的应用程序而不是默认服务器为站点提供服务:

http https://my-app.com 'Host:my-app.com:[email protected]'

像这样请求:

http https://my-app.com 'Host:myyy-app.com:[email protected]'

提供默认站点服务。

我的应用程序有一个正常的 server_name 行,如下所示:

server_name my-app.com;

如何正确配置?或者这是 nginx 的限制?还是我的错?hosts 中的 @ 通常在指定基本身份验证时使用,对吗?

更多信息:我的 Django 应用程序接收请求,抱怨根据 RFC 1034/1035,标头无效。那么 nginx 是否应该立即放弃该请求?

更多信息:此行为是在安全测试中发现的。因此,它与现实世界无关...

相关内容