ASP.NET - 使用 Web 服务 - 仅 https - 如何?
我有使用 ASP.NET 构建的 Web 服务以及使用它们的 ASP.NET 客户端。使用 Web 服务时,如何强制客户端使用 https?
我不想通过在 IIS 中打开 require SSL 来强制整个站点使用 https。
我可以使用 IIS7 URL 重写模块将 http 请求重新路由到 https 吗?
I have web services built with ASP.NET and ASP.NET clients consuming them. When consuming the webservices, how would I to force the clients to use https?
I don't want to force the whole site to use https by turning on require SSL in IIS.
Can I use the IIS7 URL rewrite module to re-route http requests to https?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不可以,您不能使用 URL 重写来更改协议。
相反,您可以在 Web 服务中植入检查,如果协议是 HTTP,则抛出异常。
No, you cannot use URL rewriting to change the protocol.
Instead, you could just implant a check in your web service and throw an exception if the protocol is HTTP.
您是否有机会将 Web 服务添加到虚拟目录并强制虚拟目录使用 SSL?除了按照 Fyodor 建议检查 Web 服务调用内部之外,您还可以在
global.asax
中添加对Application_BeginRequest
的检查,尽管它不是很整洁:Any chance you can add your webservices to a virtual directory and just force the virtual directory to use SSL? Along with checking inside the webservice calls as Fyodor suggest, you could add a check in
Application_BeginRequest
in yourglobal.asax
, although it's not very tidy: