gpt4 book ai didi

.htaccess - Azure 网关 https 后端池和 htaccess 重定向循环

转载 作者:行者123 更新时间:2023-12-03 04:19:14 26 4
gpt4 key购买 nike

我有 htaccess 重写规则:

RewriteCond %{HTTP_HOST}: ^(?:www\.)?samplesite\.net
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

在两个运行 IIS 的 Azure 虚拟机上。我前面有一个应用程序网关,它有一个后端 Https 池,其中包含两个 Azure 虚拟机的服务器证书。

我在网关上有一个多站点 https 监听器,监听到具有特定 URI www.samplesite.net 的网关的 https 流量。有一个使用 backendHttps 池的附加规则。

虚拟机托管多个站点,而我只想将这一个站点的 HTTP 重定向到 HTTPS。我有 Azure 网关上用于监听器的 www.samplesite.net 的私钥。

如果我直接指向任何虚拟机,我会成功重定向到 HTTPS。如果我指向网关,我会收到太多重定向错误。

如果我不在服务器上重写,我可以通过网关直接访问 HTTPS 或 HTTP,没有任何问题。

如果我有端到端加密,为什么会收到此重定向?

编辑:关于使用gateway rules重定向流量:

Rules are processed in the order they are listed, and traffic is directed using the first rule that matches regardless of specificity. For example, if you have a rule using a basic listener and a rule using a multi-site listener both on the same port, the rule with the multi-site listener must be listed before the rule with the basic listener in order for the multi-site rule to function as expected.

编辑2:如果有人感兴趣,我必须这样做:

RewriteCond %{HTTP_HOST}: ^(?:www\.)?samplesite\.net
RewriteCond %{HTTP_X_FORWARDED_PROTO} ^http$
RewriteRule ^(.*)$ https://www.samplesite.net%{REQUEST_URI} [L,R=302]

最佳答案

我必须检查从网关转发的 header

> RewriteCond %{HTTP_HOST}: ^(?:www\.)?samplesite\.net 
> RewriteCond %{HTTP_X_FORWARDED_PROTO} ^http$
> RewriteRule ^(.*)$ https://www.samplesite.net%{REQUEST_URI} [L,R=302]

https://www.helicontech.com/isapi_rewrite/doc/examples.htm https://stackoverflow.com/a/41512717/7889282

https://sitecoreblog.marklowe.ch/2017/01/using-ip-geolocation-and-ssl-on-azure/

关于.htaccess - Azure 网关 https 后端池和 htaccess 重定向循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50574637/

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