我试图阻止网络爬虫索引网站上的 pdf 文件。我知道如何使用 .htaccess 文件而不是 web.config 文件来执行此操作。此代码段将阻止爬虫索引整个站点正确吗?为了阻止 pdf 被抓取,我需要什么?可能吗?
<httpProtocol>
<customHeaders>
<add name="X-Robots-Tag" value="noindex" />
</customHeaders>
</httpProtocol>
我试图阻止网络爬虫索引网站上的 pdf 文件。我知道如何使用 .htaccess 文件而不是 web.config 文件来执行此操作。此代码段将阻止爬虫索引整个站点正确吗?为了阻止 pdf 被抓取,我需要什么?可能吗?
<httpProtocol>
<customHeaders>
<add name="X-Robots-Tag" value="noindex" />
</customHeaders>
</httpProtocol>
最终目标是让每当我的应用程序池被回收(每当我发布网站更新时都会发生这种情况),我的网站会被访问一次以“预热”。通常,循环后的第一次访问需要 2.5 秒,然后后续访问只需要 0.5 秒,因此每次更新后都需要访问一次。我想自动化它,似乎 Windows 应用程序初始化功能就是这样做的方法。
问题是,启用此功能后,在重新启动应用程序池(或重新启动任何东西)后,我看不到任何访问我网站的访问日志。似乎应用程序初始化功能根本不起作用。我在系统事件日志中看不到任何错误或任何进一步排除故障的方法。
下面是环境:
这是我配置的内容(使用IIS 8.0 应用程序初始化指南):
system.webServer/applicationInitialization
部分:
故障排除:
system.webServer/applicationInitialization
部分尝试了各种设置,并将其移至 web.configglobalModules
applicationHost.config 文件的部分中有这个,但我已经浏览到那个文件夹并且它是空的。我本来希望那里有一些 dll 文件,包括 warmup.dll:<add name="ApplicationInitializationModule" image="%windir%\System32\inetsrv\warmup.dll" />
我在 NGINX 上有两个带有 SSL 的网站。
什么时候
curl -I https://www.1111.com answer: https://1111.com
但当
curl -I https://www.2222.com answer: https://1111.com
curl -I https://2222.com answer https://2222.com
在 nginx.conf 中,我尝试更改 /import *.conf 的顺序,而当我在 1111.com 之前设置 2222.com > 回答相反。
1111.conf
server {
listen 80;
server_name 1111.com www.1111.com;
return 301 https://1111.com;$request_uri;
}
server {
listen 443 ssl http2;
server_name 1111.com;
root /usr/share/nginx/1111.com;
index index.php;
...
2222.conf 类似
我如何重定向本网站上的所有 https://www.* 和 http://www.*,而不是另一个?
在 Windows 2012 R2 中使用 IIS MANAGER 更改设置时遇到问题。所做的所有更改都存储在 web.config 用户文件中,这是一个问题,因为当用户更新应用程序时,web.config 被覆盖并且所有更改都是松散的。
如何将 IIS MANAGER 更改为默认编辑 APPLICATIONHOST.CONFIG 并且从不更新站点级别的用户 web.config?
在我的 IIS7 站点中,我为我的站点手动设置了绑定。
是否可以在(本地)web.config 文件中设置这些绑定?不是机器或应用程序配置文件……而是 web.config 文件?
干杯:)
我们的生产服务器都具有相同的机器密钥。但是,我们的生产和开发系统没有相同的机器密钥。我们得到一堆(大约每秒一个)形式的异常
System.Security.Cryptography.CryptographicException: Padding is invalid and cannot be removed.
at System.Security.Cryptography.RijndaelManagedTransform.DecryptData()
at System.Security.Cryptography.RijndaelManagedTransform.TransformFinalBlock()
at System.Security.Cryptography.CryptoStream.FlushFinalBlock()
at System.Web.Configuration.MachineKeySection.EncryptOrDecryptData()
at System.Web.UI.Page.DecryptStringWithIV()...
我们在构建后部署代码,.cs 源不存在于生产环境中。aspx 文件存在于生产中。
(我应该在 Stack Overflow 上发帖吗?这不是编码问题。)
通过实验,我们发现使用 dev 机器键值会导致异常消失。有没有人有我可以与安全团队一起使用的关于在编译和部署时需要相同密钥的文档?
我支持在 .NET 2.0 SP1 上运行的四核 8G 机器上安装在 Windows 2003 SP3 Enterprise 上的 ASP.NET v2.0 应用程序。
1.在启用配置之前,运行“tasklist /m mscorwks.dll”
Image Name PID Modules
w3wp.exe 7888 mscorwks.dll
2.在web.config部分下添加
3.运行IISRESET,重启服务器
4.运行“tasklist /m mscorsvr.dll”
信息:没有任务正在运行符合指定条件。
5.运行“tasklist /m mscorwks.dll”
图像名称PID模块
w3wp.exe 6251 mscorwks.dll
似乎 gcServer 没有生效。是否需要任何其他设置/配置才能使其正常工作?
我正在使用为 ASP.NET(和 Sharepoint)网站提供服务的 IIS6 运行测试平台。我们有几个客户端,因此我们为每个客户端都有自定义的根 Web.config 文件。
对于这个测试平台,我想直接从源代码控制的主干中提供服务。但是,我希望能够根据我用来访问该站点的 URL(或端口或其他)选择不同的根 Web.config 文件,因此我可以只使用源代码的一次签出并运行所有站点他们的适当设置。
这可能吗?
我们在 W2003 服务器上运行 IIS 6。根网站正在运行一个 v1.1 站点。在这个站点下,我们有一个运行 v2.0 站点的虚拟站点(带有一个单独的应用程序池)。根站点的 web.config 使用 SQL 作为其状态服务器,并安装了 1.1 SQL 状态服务器数据库。2.0 虚拟 web.config 不需要状态,它的 web.config 没有对状态服务器的引用。当我们尝试调用 virtual 时,我们会收到此错误消息。“无法使用 SQL Server,因为 SQL Server 上未安装 ASP.NET 2.0 版会话状态。请安装 ASP.NET 会话状态 SQL Server 2.0 版或更高版本。
此问题目前仅在一台 Web 服务器上发生。其余的都能够运行 2.0 虚拟应用程序。我还注意到,如果我们使用 IP 地址调用 2.0 虚拟,它不会生成错误,但是如果我们使用主机头名称调用它会生成错误(此行为仅在出现错误的 1 个 Web 服务器上,所有其他的可以使用 ip 或主机头调用而不会出错)。作为附加说明,root 和 virtual 正在使用 SSL 运行。
我的理论是虚拟 2.0 应用程序从根目录继承 1.1 web.config 状态服务器条目,当它查看状态服务器时,它会将其视为 1.1 版本并报告它需要 2.0 状态服务器的错误。但是,我不明白为什么其他服务器在这件事上没有表现。所有服务器都在相同的操作系统服务包以及相同版本的 .net 框架上。
有任何想法吗?谢谢
我正在发布从开发到生产的几个 asp.net 网站。一切似乎在开发中运行良好,但在发布到生产环境时,我们在访问该站点时遇到了一些 javascript 错误。这似乎是服务器上的东西,尽管相同的代码已部署到测试服务器并且可以在相同的客户端上正常工作。服务器是使用 IIS7 的 Windows 2008
抛出的错误:
一些语法错误 (scriptResource) - 其中 10 个
Error: syntax error
Source File: http://website.com/ScriptResource.axd?d=abc032_vah79hasdf87&t=123456789
Line: 3
Source Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
错误与上述相同,但使用 WebResource.axd 而不是 ScriptResource.axd - 其中 2 个
然后两个似乎是真正的原因?
Sys is not defined
和
WebForm_AutoFocus is not defined
----------------- 附录 --------------------------------
根据建议,我查看了 ScriptResource.axd 和 WebResource.axd
正在部署的 Web 应用程序具有表单身份验证,并且如果引用了登录页面以外的任何页面,则会重定向到登录页面。ScriptResource.axd 和 WebResource.axd 似乎正在发生这种情况(即登录页面尝试引用这些项目,发生重定向,因此他们无法取回 javascript,引发错误)
为此,我在 web.config 中添加了“位置”标签,以尝试允许所有用户访问这些项目,因此登录页面可以正常工作(请参阅下面的相关 web.config 部分)
<system.web>
<authentication mode="Forms">
<forms loginUrl="login.aspx" defaultUrl="home.aspx"/>
</authentication>
<authorization>
<deny users="?"/>
<allow users="*"/>
</authorization>
...
</system.web>
<location path="ScriptResource.axd">
<system.web>
<authorization>
<allow users="*"/>
<!-- allow all users -->
</authorization>
</system.web>
</location>
<location path="WebResource.axd">
<system.web>
<authorization>
<allow users="*"/>
<!-- allow all users -->
</authorization>
</system.web>
</location>
不幸的是,这也没有解决问题。是否有一些设置/配置选项可以阻止位置标签工作?我们为应用程序中的页面添加了相同的标签(用于测试),它适用于开发人员的机器,但不适用于服务器。看起来如果我们可以让这些位置标签在服务器上工作一切都会工作,有什么建议吗?