【问题标题】:127.0.0.1 This site can’t provide a secure connection127.0.0.1 此站点无法提供安全连接
【发布时间】:2017-03-18 17:59:23
【问题描述】:

我正在创建一个 ASP.NET Web 应用程序,目前使用 Visual Studio 的内置 IIS Express 运行它。它通常在localhost 上启动并且运行良好。但是,我正在调用的外部 API 之一需要将我的应用程序回调重定向到 127.0.0.1 而不是 localhost(它使用 OAuth2 流进行身份验证)。我意识到 localhost 只是 127.0.0.1 的别名,但由于某种原因,我无法让我的应用程序在 127.0.0.1 上运行。

我已进入“Web”选项卡下的项目设置,并将 Start Action > Start URLServers > Project URL 都更改为 http://127.0.0.1:25436 甚至去了进入 IIS Express 的 applicationhost.config 并从此更改绑定:

<bindings>
    <binding protocol="http" bindingInformation="*:25436:localhost" />
    <binding protocol="https" bindingInformation="*:44300:localhost" />
</bindings>

到这里:

<bindings>
    <binding protocol="http" bindingInformation="*:25436:127.0.0.1" />
    <binding protocol="https" bindingInformation="*:44300:127.0.0.1" />
</bindings>

我什至尝试按照我阅读的另一篇文章的建议将 IP 放在端口之前,例如 127.0.0.1:25436: 以解决此问题。

当我开始项目时,我遇到了这个问题:

我不知道如何解决这个问题。请帮忙!

【问题讨论】:

  • 仅仅更改配置文件对 HTTPS 没有帮助,因为这需要通过 netsh http 进行更多设置。
  • 您能解释一下如何做到这一点,还是涉及太多?
  • 试试这个链接中提到的dotnetcodr.com/2015/09/18/…

标签: asp.net iis visual-studio-2013 oauth iis-express


【解决方案1】:

为了子孙后代-

本地电脑上的 HTTPS 需要证书。 通常称为“自签名证书”的东西就足够了。 IIS Express 通常会在第一次安装时为您创建一个。

Windows 开始 > 键入“mmc”。 文件>添加管理单元>证书>添加>计算机帐户>下一步/完成/确定输入“证书”部分>个人>证书 您应该会看到一个 IIS Express 证书。

如果没有,您需要重新安装 IIS Express,它会为您添加新证书。

双击 IIS Express 证书并向下滚动到 Thumbprint 字段。 将整个指纹复制到编辑器中并删除所有空格。 (您可以简单地进行搜索并替换“”并替换为“”)(见附图) 现在,使用管理员权限打开 CMD,运行以下命令:

netsh http add sslcert ipport=0.0.0.0:44300 certhash=0000000000003ed9cd0c315bbb6dc1c08da5e6 appid={00112233-4455-6677-8899-AABBCCDDEEFF} 
  • 据我所知,appid 并不重要。
  • 确保添加正确的 https 端口号。
  • 确保没有添加隐藏字符,否则会失败。

现在,作为最后一步,您需要将此证书拖到“受信任的根证书...”部分。

完成。

【讨论】:

  • 尝试并得到“参数不正确”。来自 netsh 的回应
  • 这通常发生在您复制并粘贴哈希码并获得不可见字符时。尝试将其粘贴到记事本或记事本++ 中并启用“显示 Unicode...”。您可能缺少一个小角色。
  • “从哪里拖这个证书”?
  • 在 mmc 上,进入“证书”部分 > 个人 > 证书,找到正确的证书并将其拖到“受信任”部分。但是,您可以通过下载“Jexus Manager”-jexus.codeplex.com 并从那里创建一个自签名证书来让您的生活更轻松。
【解决方案2】:

我今天遇到了这个版本,我发现证明富有成效的答案已在https://aboutssl.org/fix-google-chrome-error-err_ssl_protocol_error/ 结束。


"如果不清除 SSL 状态,可能会阻塞 SSL 连接并导致 SSL 连接错误。请按照以下步骤清除 SSL 状态。

转到开始菜单 > 控制面板 > 网络和 Internet > 网络和共享中心 现在单击左下角的 Internet 选项。 将出现一个新的 Internet 属性窗口。 现在移动到内容选项卡并单击清除 SSL 状态。 “SSL 缓存已成功清除”警报应该会出现在您的屏幕上。

再次重启 Chrome 并检查 ERR_SSL_PROTOCOL_ERROR 是否仍然存在。”

【讨论】:

    【解决方案3】:

    摆脱这个问题的两种可能的选择

    1. 使用自签名证书

    2. 删除域安全策略:Chrome 的步骤 -

      1. 转到:chrome://net-internals/#hsts
      2. 查询本地主机的 HSTS/PKP 域
      3. 使用删除域安全策略选项删除本地主机配置

    【讨论】:

      猜你喜欢
      • 2017-09-06
      • 1970-01-01
      • 2020-11-25
      • 2021-10-22
      • 1970-01-01
      • 1970-01-01
      • 2022-07-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多