如何在 IIS7 中使用 appcmd 设置网站的物理路径?
就像是...
appcmd set site summit /[path='/'].path:c:\newpath
(我在 StackOverflow 上发布了这个问题,因为搜索答案在 StackOverflow 上显示了相关问题,这些问题得到了答案和许多赞成票。但到目前为止,我的问题赢得了反对票和“离题”的近距离投票,所以我想在这里提问它可能被认为更切题。)
我想做一个 URL 重写(如果需要,或者重定向,就像在这个回答的问题中一样),除非我希望它只在请求的 URL 只是站点根目录(没有文件或子目录并且没有查询)时重写/重定向字符串)。
即我只想请求TheSite.net重写/重定向到TheSite.net/home.htm,但请求TheSite.net/FAQ.htm或TheSite.net/sub或TheSite.net/?parameter=yep不是重写/重定向。
我已经重写和重定向到工作,例如:
<system.webServer>
<rewrite>
<rules>
<clear />
<rule name="Rewrite home page to Home.htm" stopProcessing="true">
<match url="^" />
<action type="Rewrite" url="/Home.htm" />
</rule>
</rules>
</rewrite>
</system.webServer>
我也尝试过<match url="^$" />
and <match url="TheSite.net" />
,但那些自然也会重写 TheSite.net/?parameter=yep ,我需要它不要那样做。也许如果有另一个属性<match>
可以让我匹配空查询字符串,但如果有查询字符串则不匹配(或者如果斜杠后面有任何内容,则不匹配)?
我希望一个适当的规则可以做我想要的,但是我的 RegEx 语法技能不能胜任这项任务,而且我还没有找到一个足够接近的例子。
在这个站点上,我看到IIS URL 重写模块查询字符串参数看起来可能是可以工作的那种东西,尽管我想要的是相反的 - 只有在域名之后没有查询字符串或其他内容时才重写在网址中。
IIS 7——“最大请求实体正文限制”
在 IIS 7 中增加“最大请求实体正文限制”字段当然很容易。
有没有人遇到过将此限制增加到超过 1 000 000 的风险?(一百万)?
这适用于包含“经典 asp”遗留页面的 Web 托管应用程序。
我是 IIS 和 ASP.NET 的新手,所以请提前原谅。
我们有一个 ASP.NET 应用程序,它引用了具有各种非托管 C++ 依赖项的托管 C++/CLI DLL。托管 DLL 部署到应用程序的 bin 文件夹,非托管 DLL 位于 bin/ 的子文件夹中。
当我执行完整的 iisreset(或重新启动服务器)时,我会在事件日志中收到一个 ASP.NET 警告,指出未处理的异常。从那里,每当我运行需要托管 DLL 的代码时,我都会得到完全相同的异常。
但是...只要我触摸 bin/ 文件夹中的任何内容,问题就会消失。从那时起,使用托管 DLL 的代码就可以完美运行。直到下一次 IIS 重置。
任何想法或指示表示赞赏。显然我正在寻找
-瑞安
我们有一个运行 IIS 7 的 Windows Server 2008 R2 实例,为多个域(所有端口 80 或 443)上的多个网站/Web 服务提供服务。
我们有一个特定子域/端口的安全问题,我想将服务器配置为根本不响应该子域/端口组合(即,甚至没有 TCP 响应......SYN
应该没有收到相应ACK
的 ,好像服务器甚至不存在)。
我不是经验丰富的网络管理员,在 Windows 上更是如此。使用 Microsoft 网络监视器,我可以看到某些东西正在接听电话并以 404 响应:
“进程”字段是空白的,所以我不知道实际接电话的是什么。我怀疑它一定是 IIS,但是没有配置网站来响应这个特定的域/端口。我想也许“默认网站”会捕获所有未配置的流量,但是当我在默认网站上设置失败的请求监控时,我没有得到任何日志。
我想防火墙条目可能会完成这项工作,但我想知道在走这条路线之前事情实际上是如何工作的。什么是对这个网络请求的响应,我该如何找到?然后我可以将该组件配置为不响应这些请求吗?
更新:根据@Mass Nerder 的评论,我跑了netstat -anb
,我得到以下端口 80(有问题的端口):
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING
Can not obtain ownership information
TCP 172.17.63.2:80 50.205.86.154:37961 ESTABLISHED
Can not obtain ownership information
TCP 172.17.63.2:80 50.205.86.154:54097 ESTABLISHED
Can not obtain ownership information
TCP 172.17.63.4:80 69.66.192.88:53898 ESTABLISHED
Can not obtain ownership information
TCP 172.17.63.4:80 69.66.192.88:53899 ESTABLISHED
Can not obtain ownership information
TCP 172.17.63.4:80 69.66.192.88:53900 ESTABLISHED
Can not obtain ownership information
TCP [::]:80 [::]:0 LISTENING
Can not obtain ownership information
我有几个 IIS 服务器和几个 Apache 服务器。当我创建 CSR 并获得我的“星”证书时,我在我的 Apache 服务器上构建了 CSR。我从 Digicert 获得了证书,并获得了一个包含 .CRT 文件的文件。
我可以在我的 IIS 服务器上使用它们吗?
还是我必须为每个服务器创建一个 CSR,然后为每个服务器获取一个新证书?
好的……我的任务是弄清楚为什么一个中小型公司(少于 200 人)的 Intranet 站点运行缓慢。在网上看了三天。我决定发布我正在查看的内容。这是我所知道的:
服务器:HP DL380 Gen9(新) 操作系统:MS Server 2012 – 运行 hyper-v 内存:32GB
Server 2012 最多可运行 2 到 3 个 VM(目前仅运行一个 VM) 16GB RAM 专用于 VHD(非动态内存) 创建卷以容纳 VHD 该卷内部有一个固定的 400GB VHD它。VHD 内部是运行 SQL 2008r2 并托管 iis7 内部网的服务器 2008r2。
这是发生了什么: Intranet 中的一个页面被设置为运行几个存储过程,这些过程对其他表中的数据进行一些检查,并在输入员工数据后插入数据(某种考勤数据库)。该代码看起来像是在处理数据的过程中创建并删除了大约 5 个表。该页面大约需要 1 分 50 秒才能在较新的服务器上运行。我能够掌握旧服务器并运行速度测试:14 秒。
我不知所措……很多网站都说要更改代码。不过之前跑的很快。我看过 perfmon ......那里的一切看起来都很好。
旧服务器是运行 SQL2000 的 32 位 2003 服务器……新服务器显然是 64 位的。
有任何想法吗?
我的交换服务器现在真的很痛苦。我不知道发生了什么,但是当我通过 https (ECP/OWA) 或通过 Outlook(在网络中)连接时,我在 ECP/OWA 上收到 503 错误并在 Outlook 中断开/尝试连接。我认为这对两者来说都是同一个问题。
我认为 Exchange 本身还可以,因为我可以使用 IMAP 发送/接收电子邮件。所以我认为这与IIS配置有关。
登录时出现 503 错误。我得到登录页面,但在登录(正确的用户名/密码)后,我在控制台(chrome 浏览器)中得到一个带有错误的空白屏幕。我今天唯一做的就是尝试新的 SSL 证书,但内部域和外部域出现问题。我已将 IIS 默认站点的 SSL 证书放回“Microsoft Exchange”但是,当我完成此操作时,一切正常。我测试了两台客户端机器以确保它正常工作。
应用程序池似乎都是正确的,并且在本地管理员下运行。为了以防万一,我已经尝试再次交换证书,但没有效果。
我已经尝试了所有可能的谷歌搜索组合,这让我尝试了我在帖子中所说的内容。不确定为什么它被否决,没有任何建设性的评论非常无益。
我现在非常茫然。
以下是一些 IIS 日志:
2015-07-22 23:04:36 192.168.16.3 RPC_IN_DATA /rpc/rpcproxy.dll [email protected]:6001&CorrelationID=<empty>;&RequestId=1e098a25-e9c7-4229-b6b8-7aeb35633d87&cafeReqId=1e098a25-e9c7-4229-b6b8-7aeb35633d87; 443 - 192.168.16.35 MSRPC - 401 1 2148074254 1
2015-07-22 23:04:36 192.168.16.3 RPC_OUT_DATA /rpc/rpcproxy.dll [email protected]:6001&CorrelationID=<empty>;&RequestId=4c1a6653-5f3b-4485-b4e2-03e59dc533be&cafeReqId=4c1a6653-5f3b-4485-b4e2-03e59dc533be; 443 - 192.168.16.35 MSRPC - 401 1 2148074254 3
2015-07-22 23:04:36 192.168.16.3 RPC_OUT_DATA /rpc/rpcproxy.dll [email protected]:6001&CorrelationID=<empty>;&RequestId=4c22cf89-4716-4ff2-b509-1abc2e7454b8&cafeReqId=4c22cf89-4716-4ff2-b509-1abc2e7454b8; 443 RBC\bates 192.168.16.35 MSRPC - 503 0 64 44
2015-07-22 23:04:36 192.168.16.3 RPC_IN_DATA /rpc/rpcproxy.dll [email protected]:6001&CorrelationID=<empty>;&RequestId=aae0ff8d-28d2-4c3d-8b76-7949291676e3&cafeReqId=aae0ff8d-28d2-4c3d-8b76-7949291676e3; 443 RBC\bates 192.168.16.35 MSRPC - 503 0 64 167
这似乎是相关的(这是503错误)
我们在 Windows Server 2012 R2 Core 上的 IIS 中遇到问题。我们的 IIS 站点有自己的应用程序池,它设置为在应用程序池标识下运行。几乎在启动后第一次访问页面时应用程序池将立即停止。
我可以重新启动应用程序池并尝试访问页面,它会再次停止,有时会部分加载页面。访问像 CSS 这样的静态内容也是如此——它可能会加载一次,但第二次尝试会产生“服务不可用 503”响应。
没有任何内容写入应用程序事件日志,并且 httperr.log 文件显示以下内容:
2015-07-01 09:04:36 10.7.40.217 58318 195.47.225.106 80 HTTP/1.1 GET /Account/Login 503 14 AppOffline ourapp.ourdomain.com
我们尝试了其他地方提到的一些事情,例如确保禁用应用程序池的 loaduserprofile 选项和禁用 rapidFailProtection。其他用户似乎报告看到错误记录到应用程序事件日志中,但我们没有看到任何类似的东西。这些可以写在别处吗?
我需要监视一个 IIS 7 应用程序池(WCF 正在其上运行),我想阅读以下消息:
背景
我收到了很多关于应用程序速度慢的性能投诉,我注意到它与我们所做的定期池刷新“同步”......当我们对其进行测试并决定时间间隔时,这不是发生了,在全速运行的几个星期里,我们接到了 2 个电话,现在我们每天接到 30 多个电话......我相信游泳池需要很长时间才能“起床”......
编辑 1:
我的期望是,在回收时,池应该在 30 秒内启动并运行。现在我想确定需要多长时间。如果我能从读取 dll 和其他内在操作中获得更准确的信息,例如 I/O,那就太好了