我想为基于web的angularJS项目提供http和https支持。如果需要,它将以https和http。
的形式工作我使用https运行了网络API。所有请求和响应操作都是安全的。
如何使用http和https项目运行(Web和Web API项目)?
我在何处以及如何管理/重定向可能来自http或https的请求?
我认为有些事情会帮助你解决这个问题。在Web API的配置选项中,只允许一个值作为project / url。 (看图)
在项目的Web方面,url和端口变体可以大大改进并独立定义。所以我不会有问题。
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属性 Project Url
网络媒体资源 Project Url
config.js (网络方面)
//serviceBase: "http://localhost:61456/",
//servicePort: "61456",
serviceBase: "https://localhost:44332/",
servicePort: "44332"
答案 0 :(得分:0)
您应该更改项目属性(Ctrl + W,P)&#39; SSL Enabled&#39;为真。在此之后,您将能够同时请求http和https。 Project Properties