asp.net-mvc - 如何在 IIS 中使用带有 https 的域名而不是 localhost 来调试网站

标签 asp.net-mvc visual-studio iis single-sign-on okta

我正在我们基于 MVC 的网站之一上实现单点登录(使用 OKTA),一旦用户在 OKTA 登录页面上输入其凭据,OKTA 就会采用响应 URL 将其响应返回到我的代码

OKTA 采用基于 HTTPS 的响应 URL 来抛出其响应。

我做过的事情:

1) 我使用 etc/hosts 文件为我的计算机指定了一个虚拟主机名,例如:

127.0.0.1www.abc.com

2) 在我的本地计算机上的 www.abc.com 上启用 https://

3) 在我的代码中指定路由 {{controller}}/{{Action}} 来接收响应。

4)我尝试指定绑定(bind)到我的本地 applicationConf 文件:

             <bindings>
                <binding protocol="http" bindingInformation="*:58565:localhost" />
                  <binding protocol="https" bindingInformation="*:443:www.abc.com" />
            </bindings>



我的 VS 项目配置如下所示:

enter image description here


当 URL(OKTA 抛出响应的地方)类似于 https://www.abc.com/Home/Auth 时,是否可以在本地 MVC 路由上接收响应(命中断点) p>

问题是当我写 localhost:58565/Home/Index http://www.abc.com/Home/Index时打开 VS 调试后,它会命中断点,但当我输入 https://www.abc.com/Home/Index(使用 https)时,它不会命中断点在 Visual Studio 中。使用 https 时,会显示 404 未找到。

我错过了什么吗?

谢谢

最佳答案

我已经解决了这个问题。发布解决方案,以便对其他人有所帮助。

我遵循的步骤:

1) 使用 Powershell 创建自签名证书(确保使用管理员权限运行 Powershell 命令行)

New-SelfSignedCertificate -DnsName www.mydomain.com -CertStoreLocation cert:\LocalMachine\My

2) 在我的 ApplicationConf.host 文件中具有正确的绑定(bind)(自 VS 2015 以来,该文件现在处于项目级别,而不是 IIS 级别) 就像下面这个:

        <bindings>
                <binding protocol="http" bindingInformation="*:58565:localhost" />
                <binding protocol="https" bindingInformation="*:44311:localhost" />
       </bindings>

如果使用主机名而不是本地主机,您可以添加更多绑定(bind)。确保每个绑定(bind)的端口都不同。此外,Https 端口应从 443 开始 - 到 44399 结束。

3) 从 IIS 默认网站中删除现有的 https 绑定(bind),并使用步骤 1 中创建的证书和步骤 1 中使用的正确主机名将其添加回来。

现在您应该能够使用自签名 SSL 在本地计算机上运行和调试代码。

关于asp.net-mvc - 如何在 IIS 中使用带有 https 的域名而不是 localhost 来调试网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45389829/

相关文章:

c# - 为什么我的 Route.Ignore 不能处理我的 ASP.NET MVC 应用程序中的这个静态文件?

asp.net-mvc - 使用 AJAX 绑定(bind)时创建/更新后具有 IEnumerable 属性的 Kendo Grid 模型未正确更新

visual-studio - 托管代码中 Visual Studio 的自定义调试引擎

iis - (WAS) 和 (W3SVC) 都在 iis 中停止

c# - 没有尾部斜杠的链接

visual-studio - AnkhSvn 不向 SVN 添加文件

c++ - 为什么我写一个空的main没有警告?

.net - Azure 网站在哪个 IIS 版本上运行?

.net - 我收到此错误无法执行请求,因为无法在 IIS 5.1 win XP 上创建应用程序域

c# - 部分中的 BeginCollectionItem 部分行为不正确