我们的托pipe环境决定了通过特定子域的所有安全stream量音乐旅行。 我们正在使用的.NET CMS Umbraco,据我所知,没有任何function“分配”一个特定的页面到一个子域。 该场景是: 我们的网站包含1页和1个包含必须安全的子页面的文件夹 用户请求/页面或/ page2 /子页面 如果请求来自HTTP,则此stream量将redirect到HTTPS 如果HTTP_HOST不包含子域安全。 然后添加它,否则继续 例如 请求等于/ page2 /页面 301redirect到https:// secure。{http_host} / {request} 随后的请求必须被忽略(为了避免循环) https:// secure.domain.com/page =>无更改,保持不变 https:// domain.com/page =>插入子域,https://secure.domain.com/page 在我看来,逻辑是: INPUT =完整URL = http://www.domain.com/page 如果input包含HTTPS然后检查完整的URL,它是否包含“安全”? 如果是,什么也不做,如果没有添加“安全” – 8月19日更新 考虑到这一点,我拼凑出了两条正确的方向: 这是我build议的: 强制某些stream量进入安全域的一个规则是: <rule name="Force 'Umbraco' to secure" stopProcessing="true"> <conditions logicalGrouping="MatchAll"> <add input="{REQUEST_URI}" pattern="^/umbraco/(.+)$" ignoreCase="true" /> <add input="{HTTP_HOST}" negate="true" […]
我试图在IIS 8上实现客户端证书身份validation。我已经在开发计算机上部署了我的configuration,并validation了它在那里按预期工作。 然而,在服务器上设置后,每当我导航到该网站,并提示客户端证书,我select它,并立即得到403.16错误。 失败的请求日志提供错误代码2148204809和消息“证书链已处理,但终止于不受信任提供程序信任的根证书”。 我有一个有效的客户证书和一个有效的CA证书。 CA证书安装在服务器和客户机的计算机帐户上的“受信任的根机构”中,客户机证书安装在客户机上“当前用户”帐户的“个人”区域中。 客户端证书由根CA直接签名,正如我所说的,两者都是有效的。 在链中没有其他证书,并且“受信任的根证书颁发机构”区域中没有中间证书。 IISconfiguration具有sslFlags = SslNegotiateCert,并启用了iisClientCertificateMappingAuthentication。 服务器没有configuration发送一个CTL,我们有SendTrustedIssuerList = 0。 我不明白为什么客户端证书不应该被信任。
Windows Server 2008 R2 SP1上的IIS 7 我在web.config中添加了以下规则,将所有传入请求redirect到HTTPS <rule name="HTTP to HTTPS redirect" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTPS}" pattern="off" ignoreCase="true" /> </conditions> <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" /> </rule> 当&符号(&)出现在URL或文件名中时,它将失败。 我已经看过一些提供的解决scheme,并且对通过registry允许特殊字符不感兴趣。 有没有一种方法来执行重写编码与&或%26之前的redirect规则的&符号? HTTPSredirect规则是否使用原始URL或新重写/编码的版本?
我们inheritance了以下网站设置: 一个主网站和约130个辅助网站,全部指向主要网站域(通过CNAME DNS设置); 网站托pipe在IIS 6服务器上; 所有网站的代码都是一样的; 130个辅助网站显示的内容几乎与主网站内容相同,有一些独特的差异,针对每个域; 内容是根据域名提供的。 我的意思是,支持人员读取浏览器的url并相应地提供内容。 问题 目前,130个networking域名无法使用www。 尝试解决scheme 使用指向主网站IP地址的A名称设置130个域名DNS中的每一个都不起作用。 这导致原来的域名丢失,所以主网站服务。 题 是纯粹的DNS设置解决scheme吗? 有一个直接的解决scheme,不需要131个版本的相同的代码和131个不同的IP地址? 我主要是一个前端开发人员,所有这些DNS /服务器设置是有点出于我的舒适区,所以如果一些说明没有任何道歉,请让我知道,如果您需要进一步的信息道歉。 提前谢谢你。 为了logging(啊!),这些是我们提供商 Star所 允许的DNSlogging : 一个 AAAA CNAME MX NS 文本 SPF SRV
我们目前有一个3节点的Windows 2003 NLB群集以组播模式运行,用于IISnetworking群集。 我们想升级到2012 R2。 总共约15个网站/ IP地址。 您可以在与2003节点(共6个节点)相同的群集中运行2012 R2节点吗? 基于我的search这可能是不可能的。 (至less出于testing的目的)build立一个单独的NLB群集,单独的节点和IP地址,然后通过DNS更改翻转连接,这是一个更好的主意吗? 我们可能需要在Windows 2003上保留一些站点,直到它们被重build,所以可能需要单独的集群,因为它不支持在同一个NLB集群中运行不同的Windows版本一段时间。 我想避免设置一个中间点Windows版本,如2008 / R2 Web群集。 所有的Web服务器节点将连接到相同的数据库和应用服务器。 试图规划出最好的为什么迁移和从旧到新的过渡。 谢谢。
在Web应用程序中,我有一个WCF服务使用客户端证书身份validation。 我在IIS中检查“接受客户端证书” – SSL设置,它工作正常。 但有些时候,在某些浏览器中,如果客户端机器上安装了证书,浏览器会提示一条消息来select要提供给服务器的证书,这不是所需的行为,因为只有 Web服务需要证书 -不是networking应用程序! 如何在不为IIS上的Web服务创build独立Web项目的情况下处理它?
我将Tomcat安装为IIS后面的Java应用程序服务器。 使用下面的规则,我可以重写静态页面,但很可惜,websocket连接永远不会build立: <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <webSocket enable="false"/> <rewrite> <rules> <rule name="Redirect HTTP to HTTPS" stopProcessing="true"> <match url="(.*)" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> <add input="{HTTPS}" pattern="^OFF$" /> </conditions> <action type="Redirect" url="https://{HTTP_HOST}/foo/{R:1}" redirectType="SeeOther" /> </rule> <rule name="Redirect from IIS to Tomcat" stopProcessing="true"> <match url="(.*)" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> <add input="{CACHE_URL}" pattern="^(.*)://" /> </conditions> <action type="Rewrite" url="{C:1}://tomcat.contoso.com/foo/{R:1}" […]
我们在大约5%的Windows(7 Pro和XP Pro,32位和64位)客户端计算机上面临着奇怪的行为。 这些计算机从IIS服务器获取随机错误 – 400错误的请求。 我们正在使用Windows域,这些客户端正试图通过Kerberos授权给IIS。 Symtomps: 客户端尝试通过Internet Explorer连接到IIS服务器到需要身份validation的站点(Kerberos)。 IIS服务器返回错误400错误的请求。 直到客户端计算机“快乐地重新启动”,错误不会消失。 我们没有find其他方式来“修复”这个状态。 愉快地重新启动意味着您可以重新启动多次。 有时它有时不起作用。 如果它工作,它将安全工作,直到下次重新启动。 如果它不能安全地工作,直到下一次重新启动。 🙂 我们所知道的 我们正在使用更多的组。 所以我们的用户有更大的Kerberos TGT。 MaxTokenSize提高到48000。 我们在受影响的客户端上嗅探networkingstream量,发现客户端发送中断的授权头 。 有kerberos授权标头的部分被切断 – 没有正确结束。 所以从IIS服务器响应是正确的和合乎逻辑的。 所以问题出在客户端 。 我们试图在受影响的计算机上发现工作状态和错误状态之间的一些区别,但没有运气。 我们的networking中有更多的IIS服务器。 受影响的计算机在“错误状态”中都有相同的问题。 希望我们的想法是正确的,即Internet Explorer使用.NET Framework进行HTTP请求和授权。 所以可能是因为.NET的某处? 所有客户都使用版本4。 任何人都可以帮助我们澄清这个谜团? 🙂
我们已经部署了一个简单的ServiceStack应用程序,在IIS 7中提供了Podcast RSS-feeds。清理IIS日志,我们发现less量的请求得到一个HTTP 500.19错误代码。 在约55万个日常要求中,约有600个失败,500.19。 这意味着我们成功地提供了99.9%的请求的RSS。 我仍然很好奇为什么我们失败了0.1% 。 通常由于configuration无效而发生500.19。 只有0.1%的请求,configuration如何失败? 我还没有能够手动重现错误,所以我没有HResult代码 。 这在IIS日志中也不存在。 但是,IIS日志中的sc-win32-status是64 一些细节: 应用程序的内部日志logging不会报告任何错误,表明请求永远不会到达我们的代码。 这个错误通常发生在最大的RSS(740KB gzipped)上,但也发生在较小的(140KB gzipped)上。 失败的请求通常来自移动客户端(IOS,Android),这并不像通常在移动设备上消费的播客那么多。 应用程序部署在6个节点上,使用BigIP进行负载平衡。 configuration文件不是跨节点共享的。 所有节点的0.1%错误率是相等的。 我们有输出caching在IIS中激活(但没有内核caching)。
对VM映像有一些性能问题(我无权访问VM主机,只访问客户机操作系统)。 试图确定为什么有一段时间的范围从10-60秒,其中服务器只是停止推出任何请求。 在这样做的时候,我有几个性能计数器,但是我注意到一些非常奇怪的东西,在这些“死亡”期间开始后,我的所有ASP.NET应用程序计数器(活动会话,pipe道实例计数,请求执行)一旦我们摆脱了“死亡”时期,就恢复到正常水平。 在这里查看图表: 我完全知道这些会议虽然从柜台统计中删除,但在整个时间内仍然保持运转。 有没有人从柜台看过这种行为? 是否有可能导致这些计数器不正常的虚拟机资源匮乏,甚至可能导致整个死亡期?