【问题标题】:How to configure Visual Studio 2017 to expose a non-encrypted port in a ASP.Net MVC https site如何配置 Visual Studio 2017 以在 ASP.Net MVC https 站点中公开非加密端口
【发布时间】:2018-04-09 11:27:15
【问题描述】:

我正在尝试使用 Visual Studio 2017 在我的本地主机(开发机器)上测试来自 Stripe.com 的 webhook。我的网站使用 https。为了测试 webhook,你需要一个 url,所以在我的本地机器上我必须安装和使用 ngrok。 Ngrok 给了我一个提供给 Stripe 的 URL,这样 Stripe 就知道在哪里发送 post 请求。问题是 ngrok 不适用于 https!

我一直在寻找解决方案 2 天,我已经通过电子邮件发送 ngrok 询问,他们回复了

应该能够配置 VS 以公开非加密端口,但我对它不是超级熟悉,我可以告诉你如何去做。也许 ngrok VS 扩展会有所帮助? https://ngrok.com/docs#visual-studio

我已经尝试过运行扩展程序。没有运气!它所做的只是打开 ngrok.exe 并运行它。

所以我想看看是否可以打开/公开一个未加密的端口?我认为这意味着使用 http 而不是 https 的操作方法或控制器?

还是有别的意思?这在 ASP.NET MVC 中可行吗???

【问题讨论】:

    标签: c# asp.net-mvc visual-studio https ngrok


    【解决方案1】:

    今天早上,我能够在 IIS Express 上运行的 VS 2017 中使用 ngrok 让我的 ASP.NET Core MVC 项目接受测试 Stripe webhooks 调用。

    我必须做两件事:

    1. 测试时关闭app.UseHttpsRedirection()。我修改了我的Startup.Configure(..),只在不处于开发阶段时才使用 HTTP 重定向:

      public void Configure(IApplicationBuilder app, IHostingEnvironment env)
      {
          if (env.IsDevelopment())
          {               
              // <snip>
          }
          else
          {
              // <snip>
              app.UseHttpsRedirection(); // <- Moved from outside to inside else block to allow ngrok tunneling for testing Stripe webhooks
          }
      
          // <snip>
          app.UseMvc();
      }
      
    2. 使用网站的非 HTTPS URL 启动 ngrok 隧道。就我而言,我的项目配置为使用以下端口:

        <binding protocol="http" bindingInformation="*:64768:localhost" />
        <binding protocol="https" bindingInformation="*:44358:localhost" />
      

      所以我的 ngrok 命令是这样的:

      ngrok http 64768 -host-header="localhost:64768"
      

    希望这对某人有所帮助 - 我也挣扎了一段时间才能让它发挥作用。

    【讨论】:

      【解决方案2】:

      在这里查看我的答案: How To Disable Https in Visual Studio 2017 Web Proj ASP.NET Core 2.0

      注意:如果我对默认的不安全 URL 有误,上面的问题提供了禁用安全 URL 的解决方案。我没有尝试,因为在我现有的项目中已经定义了一个不安全的 URL(我怀疑你的也有)

      只需使用已建立的不安全 URL 而不是安全 URL。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-24
        相关资源
        最近更新 更多