【问题标题】:angular 2 http:// and https:// routesangular 2 http:// 和 https:// 路由
【发布时间】:2016-11-09 00:05:54
【问题描述】:

有一个基于 Angular 2 的应用程序有两条路线:

const appRoutes: Routes = [
    {
        path: 'home',
        component: HomeComponent
    },
    {
        path: 'login',
        component: LoginComponent
    }
];

“/home”路由应该转到“http://mysite/home”,“/login”应该转到“https://mysite/login”。请注意第一个以“http://”开头,第二个以“https://”开头。如何将路由器配置为使用不同来源的路由?或者至少 http / https 同源?

【问题讨论】:

    标签: http angular https routes router


    【解决方案1】:

    这不是 Angular2 特有的。当您加载应用程序时,路由会采用来自 URL 的架构。您有几个选项可以让登录要求使用 HTTPS。

    • 始终通过 HTTPs 加载应用程序。总的来说,这不是一个坏习惯,现在许多 Web 应用程序都这样做。
    • 为您的 Web 服务器使用重写插件(Apache 的 mod-rewrite,或 IIS 的 IIS 重写)将 /login 路由的所有 HTTP 请求重定向到 HTTP。

    【讨论】:

    • 感谢您的回复。我很乐意通过 https 运行所有站点,但我的站点可能包含不安全资源的引用。例如,一个页面可以有 example.com/pic.jpg"></img>。在这种情况下,浏览器将显示有关从安全页面引用的不安全资源的警告。是否可以摆脱这些警告?
    • 是的,这是可能的,但是您必须在后端配置一些东西才能将您的 HTTP 请求重写为 HTTPs 请求。您可以使用我提到的相同方法来重写所有请求。或者这是我在 IIS 下使用的一个模块,它做同样的事情。 codeproject.com/Articles/7206/…
    猜你喜欢
    • 2013-03-04
    • 1970-01-01
    • 2017-03-10
    • 2018-04-24
    • 2015-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多