[英]Configuring SSL in IIS / ASP.NET
我会尽量简短。 我已经在服务器上设置了证书。 我只是对在我的网站中配置SSL的正确方法有疑问。
我需要在根login.aspx
以及admin
和cart
目录中进行安全保护。 因此,在IIS中,您可以右键单击站点中的文件或目录,然后转到“ Properties
->“ File/Directory Security
选项卡->“ Secure Communications
部分,然后单击“ Edit
->选中“ Require secure channel (SSL)
。 这将导致通过https
连接请求文件或目录内容,而asp.net不会自动转换请求。
因此,我没有更改我的所有链接和重定向以使用绝对URL来指定http
或https
,而是实现了一个http模块,以按照此处的建议在 http
和https
之间自动切换。 但是,我仍然收到错误:
必须通过安全通道查看该页面
因为它最初不是通过https
发送的,而是在模块中转换的。 如果我在IIS中删除设置,则可以正常工作; 页面模块自动将连接切换到https
。 我的问题是,可以在IIS中没有SSL要求设置,而让我的http模块处理http / https切换吗? 我觉得这样做会失去一层安全保障。 有人对此有见识吗?
我认为不启用“ Require secure channel
选项是可以接受的。 仅当需要保护整个域(例如secure.domain.com)时,才启用该选项。 对于具有部分内容需要HTTPS而又不需要部分内容的网站,我使用了您所描述的switcher方法。 当用户请求登录页面时,他们将通过HTTPS重定向到同一页面。 所有cookie被设置为仅通过SSL传送:
<system.web>
<httpCookies httpOnlyCookies="true" requireSSL="true" lockItem="true" />
</system.web>
如果不存在Cookie,则用户将无法登录,并且页面将通过HTTP传递。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.