【发布时间】:2021-12-08 10:19:19
【问题描述】:
当我尝试在 IIS 中启动 Asp.Net Classic 站点时,我在工作站上收到此错误。
我正在运行 Windows 10,并且在 IIS 上有超过 20 个 Asp.net Classic 站点。这是唯一有这个问题的。
站点 url 是托管在 localhost https://localhost/appname/ 上的应用的经典路径
从今天开始,之前一直运行没有问题。
我没有对 Web.Config 文件进行更改
我也尝试从 Visual Studio 2019 使用 F5 启动,但同样的错误。
该站点不在 IISExpress 上运行。
问题仅在我的工作站上。在生产网络农场中,不会引发错误。
我尝试禁用我的防病毒软件,但问题仍然存在。
我也想了解它为什么尝试连接到端口 XXXXXX 而不是 443。
这是我的 Web.Config 的相关部分
<system.web>
<httpRuntime maxRequestLength="15000" enableVersionHeader="false" />
<machineKey decryption="AES" decryptionKey="EDD379586B19136DF53C43A847814CFF4DB568B294CA6E7AED14FC257D8F6AEB" validation="HMACSHA256" validationKey="A84DBA7A7659B28A57282192176B3982D216CA2D8CCB3019115B6FF6D2E02B012B7CCD24F94EAAAB4DHJKHFJFGD50E49DADA9DB056F40DD89066F0BDBDF467C" />
<compilation debug="true" targetFramework="4.7.2" />
<customErrors mode="RemoteOnly">
<error statusCode="404" redirect="~/page404.aspx" />
</customErrors>
<authentication mode="Forms">
<forms slidingExpiration="true" defaultUrl="~/default.aspx" loginUrl="~/login.aspx" requireSSL="true" />
</authentication>
<membership defaultProvider="EDK4NetMProvider" userIsOnlineTimeWindow="60">
<providers>
<add name="EDK4NetMProvider" type="EDK4Security.EDK4NetMembershipProvider" />
</providers>
</membership>
<pages controlRenderingCompatibilityVersion="4.0" viewStateEncryptionMode="Always" />
<sessionState cookieName="SpecialSite_SessionId" cookieSameSite="Strict" />
<httpCookies httpOnlyCookies="true" requireSSL="true" sameSite="Strict" />
</system.web>
<system.net>
<mailSettings>
<smtp from="noreplay@mysite.net" deliveryMethod="Network">
<network host="polluce.local.dmz" />
</smtp>
</mailSettings>
</system.net>
<system.webServer>
<defaultDocument>
<files>
<remove value="iisstart.htm" />
<remove value="index.html" />
<remove value="index.htm" />
<remove value="Default.asp" />
<remove value="Default.htm" />
</files>
</defaultDocument>
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
<httpProtocol>
<customHeaders>
<add name="X-Frame-Options" value="SAMEORIGIN" />
<add name="X-Content-Type-Options" value="nosniff" />
<add name="Strict-Transport-Security" value="max-age=63072000; includeSubDomains; preload" />
<add name="Referrer-Policy" value="strict-origin" />
<add name="Content-Security-Policy" value="frame-ancestors 'self'" />
</customHeaders>
</httpProtocol>
<rewrite>
<rules>
<rule name="Force HTTPS" enabled="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" matchType="Pattern" pattern="^OFF$" ignoreCase="true" negate="false" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
【问题讨论】:
-
它真的试图连接到端口 XXXXX 而不是实际号码吗?还是您这样做只是为了保护您认为可能敏感的信息?在您的机器上,您使用的是 IIS 吗?还是 IIS Express?
-
运行一个绑定报告,这将告诉您该网站需要哪些端口,docs.jexusmanager.com/tutorials/binding-diagnostics.html
web.config不包含任何此类信息。 -
检查服务器上的防火墙,确认它是否阻止了 443 端口。这个问题主要是由防火墙引起的。或者您可以尝试禁用强制 https 规则并通过 http 访问它。
-
@mason 不随机改变端口,昨天是14452
-
@Bruce Zhang:没有其他网站在 443 上没有问题。同时禁用防火墙问题仍然存在。