繁体   English   中英

如何与http和https同时运行Angularjs webapi?

[英]How is it possible to run Angularjs webapi at the same time as http and https?

我想为基于Web的angularJS项目提供http和https支持。 如果要求,它将与https以及http一样工作。

我使用https运行了Web API。 所有请求和响应操作都是安全的。

如何同时使用http和https运行项目(Web和Web API项目)?

我在哪里以及如何管理/重定向可能以http或https发出的请求?

我认为有些事情可以帮助您解决这个问题。 在Web API的配置选项中,项目/网址仅允许使用一个值。 (看图片)

在项目的Web端,可以极大地改进和独立定义url和port变体。 所以我在那里不会有问题。

RequireHttpsAttribute (如果必须使用)

public override void OnAuthorization(HttpActionContext actionContext)
    {
        //if (actionContext.Request.RequestUri.Scheme != Uri.UriSchemeHttps)
        //{
        //    actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.Found);
        //    actionContext.Response.Content = new StringContent("<span> Http yerine artık https kullanılıyor.</span>");

        //    UriBuilder uriBuilder = new UriBuilder(actionContext.Request.RequestUri);

        //    uriBuilder.Scheme = Uri.UriSchemeHttps;
        //    uriBuilder.Port = 44332;

        //    actionContext.Response.Headers.Location = uriBuilder.Uri;

        //}
        //else
        //{
        //    base.OnAuthorization(actionContext);
        //}

    }

WebAPI属性 项目网址

网站资源 项目网址

config.js (网络端)

//serviceBase: "http://localhost:61456/",
//servicePort: "61456",
serviceBase: "https://localhost:44332/",
servicePort: "44332"

您应该将项目属性(Ctrl + W,P)“启用SSL”更改为true。 之后,您将可以同时请求http和https。 项目属性

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM