Angular 2 - 始终重定向到https://而不是使用http://

时间:2016-07-12 16:55:28

标签: angular

我有一个Angular 2应用程序,我只想在https上运行。 重定向使用http的地址改为使用https的最佳方法是什么?

3 个答案:

答案 0 :(得分:4)

我在Angular2网站上添加了一个web.config,其中包含以下内容。请记住,这适用于IIS托管的应用程序。 现在所有地址都重定向到https版本。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <clear />
                <rule name="Redirect to https" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
                    </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" appendQueryString="false" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

答案 1 :(得分:0)

根据您的问题,您必须从服务器端为您的域强制执行https。正如你在评论中提到的IIS,你可以通过一些方法来实现强制HTTps。

https://www.sslshopper.com/iis7-redirect-http-to-https.html

答案 2 :(得分:0)

我必须根据web api在同一区域内的位置编写web api服务的例外规则:/

注意这一行

  <add input="{REQUEST_URI}" pattern="^/(C2NGService)" negate="true" />

用于角度5的web.config

<configuration>
<system.webServer>
<rewrite>
    <rules>
    <rule name="Angular Routes" enabled="true" stopProcessing="true">
        <match url=".*" />
        <conditions logicalGrouping="MatchAll">
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
        <add input="{REQUEST_URI}" pattern="^/(C2NGService)" negate="true" />
        </conditions>
        <action type="Rewrite" url="/" />
    </rule>
    </rules>
</rewrite>
</system.webServer>
</configuration>