Tomcat 从我的域的任何HTTP url进行HTTPS重定向

Tomcat 从我的域的任何HTTP url进行HTTPS重定向,tomcat,redirect,iis-7,teamcity,Tomcat,Redirect,Iis 7,Teamcity,我有一个TeamCity构建服务器,用于通过IIS运行的CI。我非常希望我的域名上的任何url都被重定向到该url的HTTPS版本 我遵循了链接到此处的教程: 此外,在完成本教程之后,这是my web.config的当前版本: 我真的不确定我做错了什么,因为我的域的主URL似乎重定向到https,但许多子域只有404,除非您明确指定https。任何帮助都将不胜感激 尝试创建JavaScript协议重定向,并将新处理程序绑定到所有HTTP-80非安全侦听器,其中默认错误页和默认文档是带有JavaS

我有一个TeamCity构建服务器,用于通过IIS运行的CI。我非常希望我的域名上的任何url都被重定向到该url的HTTPS版本

我遵循了链接到此处的教程:

此外,在完成本教程之后,这是my web.config的当前版本:


我真的不确定我做错了什么,因为我的域的主URL似乎重定向到https,但许多子域只有404,除非您明确指定https。任何帮助都将不胜感激

尝试创建JavaScript协议重定向,并将新处理程序绑定到所有HTTP-80非安全侦听器,其中默认错误页和默认文档是带有JavaScript重定向的静态文件。请参见下面的示例,包括链接的屏幕截图。不安全的默认文档也应该是index.htm

ASP重定向解决方案:

PHP重定向解决方案:

IIS站点中的处理程序配置:

不安全站点中的错误页面:

同时,我将研究这个问题的ASP版本,如果您愿意,PHP将在答案中添加ASP和PHP解决方案。他们不检查任何东西,不问任何问题,只是重定向,简短而甜蜜。如果使用其中一种,请相应地更改文件类型。
    <system.webServer>
        <rewrite>
            <rules>
            <clear />           


    <rule name="HTTP to HTTPS redirect" stopProcessing="true">
        <match url="(.*)" negate="true" />
        <conditions>
                    <add input="{HTTPS}" pattern="^OFF$" />
            </conditions>
        <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" />
    </rule>

    <rule name="Subdirectory HTTP to HTTPS redirect" enabled="true" patternSyntax="ECMAScript" stopProcessing="true">
            <match url="(^admin/.*)" />
            <conditions>
                <add input="{HTTPS}" pattern="off" />
            </conditions>
            <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" />
    </rule> 

        </rules>           
    </rewrite>
</system.webServer>
<!DOCTYPE html><html>
<!-- This is index.htm -->
<head><script>
if (window.location.protocol != "https:") {
    window.location.protocol = "https:";
    window.location.reload();
}</head></html>