I am trying to implement SSL on SItecore Admin login page, Could you please tell me how to implement the SSL only on Admin page other than the whole site. I cant use wildcard since the structure is diferent for sitecore login
2 回答
如果没有一些额外的限制,我不建议沿着这条路线走。尽管可以按照 patrickmjones 的建议使用 SLL 保护站点的一部分,但由于可能会劫持会话,因此不建议在单个站点中使用混合模式。如果您还没有阅读 “打破网络的 Cookie Jar”和他的建议“所有网络流量都应该加密吗?” . Troy Hunt 的5 种以不充分方式实现 HTTPS(并泄漏敏感数据)的方法是一本很好的读物,可以很好地洞察细微差别。所以特别是在这种情况下,
相反,如果您要求您的管理部分是安全的,那么我会推荐以下之一:
- 一个真正独立的 CMS 服务器,位于您的防火墙内,只能从您的网络中访问
- 只应允许用户通过 VPN 连接访问服务器
- 在 IIS 中设置 IP 限制,仅允许特定范围的 IP 地址访问 /sitecore 文件夹
此外,添加 SSL 加密不会成为问题,但不要依赖它作为唯一的保护形式。就我个人而言,如果可能的话,我会尽量避免公开 CMS 服务器。
我不能说这是否被推荐,但这似乎是一个好主意,所以+1。
通过将“端口”值 443 添加到 Web.config 中的以下每个站点,我能够在我的测试台中实现这一点。
<site name="shell" port="443" virtualFolder="/sitecore/shell" physicalFolder="/sitecore/shell" rootPath="/sitecore/content" startItem="/home" language="en" database="core" domain="sitecore" loginPage="/sitecore/login" content="master" contentStartItem="/Home" enableWorkflow="true" enableAnalytics="false" analyticsDefinitions="content" xmlControlPage="/sitecore/shell/default.aspx" browserTitle="Sitecore" htmlCacheSize="2MB" registryCacheSize="3MB" viewStateCacheSize="200KB" xslCacheSize="5MB"/>
<site name="login" port="443" virtualFolder="/sitecore/login" physicalFolder="/sitecore/login" enableAnalytics="false" database="core" domain="sitecore" disableXmlControls="true"/>
第二部分和非 Sitecore 部分是确保您在 IIS 中安装了有效的服务器证书,并在 IIS 中为您的站点设置了正确的绑定以使用该证书。
完成后,您只需导航到https://mysite.com/sitecore即可访问后端,并且http://mysite.com/sitecore不起作用。如果您想要更花哨的东西,例如由您决定的重定向。