我不是网络开发人员,但是最近我不得不为一位患重病的同事接管网站的管理。我正在努力建立调试环境。该项目是使用ASP(带有vb)编写的,而我正在使用Visual Studio 2017,因此我正在尝试配置iis express(因为我真的很想拥有断点,以了解一切如何工作)。
代码很复杂,由一个包含多个项目的单一解决方案组成,但基本上有一个管理/管理网站和一个普通用户网站(均在单独的项目中)。我可以正常运行用户部分,而且一切似乎都正常。但是,当我运行管理部分时,出现以下错误:“ SSL_ERROR_RX_RECORD_TOO_LONG”。 普通用户部分(正在运行的部分)不使用ssl(至少我认为是这样,因为这是那里的链接:http://localhost:61755/Form/default.aspx)。无效的部分转到:https://localhost:61974/default.aspx
所以我想这个问题与iis express如何使用ssl有关。我尝试在Visual Studio设置中启用ssl。我尝试将ssl端口更改为其他端口(我认为当前已将其设置为auto(然后转到44326),但是我在44300尝试了该端口)。我尝试删除ssl证书并生成一个新证书。我尝试重新启动服务器,然后尝试重新安装iis(在我意识到iis express是另一回事之前)。 我尝试使用Firefox,Edge和Internet Explorer。
我的同事的代码没有web.config。因此,我从服务器上获取了web.config并使用了它。在这里,我找到了这一部分:
<system.webServer>
<rewrite>
<rules>
<rule name="http > https" stopProcessing="true">
<match url="(.*)"/>
<conditions>
<add input="{HTTPS}" pattern="^OFF$"/>
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}"/>
</rule>
</rules>
</rewrite>
(如果您觉得有帮助,我很乐意发布web.config的其余部分,但这有点冗长)。 我怀疑这会将所有http请求发送到https。但是,删除它并不能解决该错误。我尝试使用普通用户网站的web.config(可以正常工作的网站,没有ssl),但是产生了相同的错误。 我完全禁用ssl不会有问题(因为这仅用于在本地PC上进行调试)。
在这一点上,我不知道该如何解决该问题,我真的很愿意提供任何帮助。