gpt4 book ai didi

iis - nginx 和 IIS - 处理无效的主机名和 SSL

转载 作者:太空宇宙 更新时间:2023-11-03 14:54:40 26 4
gpt4 key购买 nike

设置

客户端 <=(HTTPS)=> Nginx 负载均衡器 <=(HTTPS)=> IIS 8

(我知道有人会问为什么nginx和IIS之间要使用SSL,但这不是我要问的主题。)

错误案例

垃圾邮件/扫描客户端使用无效的主机名与 SSL 连接,例如客户端指定的主机名包含星号 (*)。这使得 IIS 在握手期间关闭连接,然后 Nginx 将其视为 IIS 已关闭。

当所有 IIS 服务器都关闭时,下一个请求会从 nginx 获得一个“Bad gateway”。这允许客户端错误地操纵 nginx,认为 IIS 已关闭。

如何修复?

如何解决这个问题?

  • 是否可以拒绝 nginx 配置中的无效请求基于查看字符的主机名?
  • 或者是否可以让 IIS 在这些情况下表现不同? IIS 已经有一个 catch all ssl 绑定(bind),它只返回 403 forbidden,但这在解释的情况下没有命中。
  • 或者我是否必须在 nginx 配置中专门列出所有允许的主机名?

最佳答案

像这样:

http {
.....
map $request_uri $blockit {
default 0;
~*\*\.; 1;
}
.....
server {
.....
location / {
if ($blockit) { return 403; }
.....

关于iis - nginx 和 IIS - 处理无效的主机名和 SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30727246/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com