【问题标题】:Enabling SSL for ASP.NET 5 project in Visual Studio 2015 Community RTM在 Visual Studio 2015 Community RTM 中为 ASP.NET 5 项目启用 SSL
【发布时间】:2016-07-20 19:46:16
【问题描述】:

大多数教程建议您可以通过转到项目的属性然后勾选“启用 SSL”复选框来为网站启用 SSL。但是,对于我在 Visual Studio 2015 社区(Microsoft Visual Studio 社区 2015 版本 14.0.23107.0 D14REL)中的 ASP.NET 5 项目,此选项不存在(请参阅屏幕截图 )。

我能够通过在 applicationhost.config 中手动添加 https 协议绑定来解决它(遵循https://github.com/AzureADSamples/WebApp-OpenIdConnect-AspNet5 中的 pre-RTM 指令),但我发现 Visual Studio 不时覆盖这个文件,这迫使我一遍又一遍地进行手动编辑。

当我创建一个新的 Web 应用程序项目时,“启用 SSL”仅在我使用 ASP.NET 4.5 模板时可用,但在我使用 ASP.NET 5 Preview 模板时不可用。有没有办法以持续的方式为 ASP.NET 5 项目配置此选项?

【问题讨论】:

    标签: visual-studio-2015 asp.net-core


    【解决方案1】:

    我遇到了和你一样的问题。问题是,一个项目有两个“属性”。如果您在解决方案资源管理器中右键单击项目节点并选择属性,您将看到上面显示的属性窗口,不,它没有“启用 SSL”作为选项。但是,选择解决方案资源管理器中的项目节点后,如果您查看“属性窗口”(视图菜单中的一个选项),那么您将看到(通常停靠的)具有此选项的属性窗口。顺便说一句,查看菜单中两个窗口之间的区别是“属性窗口”(您想要的那个)和“属性页面”(您在上面显示的那个,而不是正确的那个)。但是,一旦您进入“属性”窗口,虽然您将能够启用 SSL,但该端口将是只读的。在大量阅读该主题之后,我认为您所要做的就是编辑自动创建的 applicationhost.config 文件中的绑定:

    解决方案路径:./.vs/config/applicationhost.config

    文件内的xpath:/configuration/system.applicationHost/sites/site[@name="{your site name here}"]/bindings/binding[@protocol="https"]/@bindingInformation="*:{port}:localhost"

    【讨论】:

    • 感谢您指出 .vs 文件夹中 applicationhost.config 文件的位置。删除文件并在属性页面中单击“创建虚拟目录”为我解决了很多问题。
    【解决方案2】:

    RTM、RC2 和 RC1 答案

    您需要在项目的properties文件夹中使用launchSettings.json。注意sslPort 设置。请注意,对于 RC1,ASPNETCORE_ENVIRONMENT 变为 Hosting:Environment

    {
      "iisSettings": {
        "windowsAuthentication": false,
        "anonymousAuthentication": true,
        "iisExpress": {
          "applicationUrl": "http://localhost:1025/",
          "sslPort": 44300
        }
      },
      "profiles": {
        "IIS Express": {
          "commandName": "IISExpress",
          "launchBrowser": true,
          "environmentVariables": {
            "ASPNETCORE_ENVIRONMENT": "Development"
          }
        },
        "web": {
          "commandName": "web",
          "environmentVariables": {
            "ASPNETCORE_ENVIRONMENT": "Development"
          }
        }
      }
    }
    

    Beta 8 答案

    您可以编辑 .xproj 文件并添加 SSLPort 元素以手动添加它,但这应该适用于任何版本的 VS,我建议您在 ASP.NET Tooling GitHub 页面上提出问题:

    <PropertyGroup>
        <SchemaVersion>2.0</SchemaVersion>
        <DevelopmentServerPort>1025</DevelopmentServerPort>
        <SSLPort>44300</SSLPort>
    </PropertyGroup>
    

    端口号必须是介于 44300 和 44399 之间的数字。

    【讨论】:

    • 有 RC2 答案吗?
    • @Blaise 为 RC2 更新。
    【解决方案3】:

    将项目设置的 Web 选项卡中的项目 URL 更改为:

    https://localhost:44300/

    端口号可以更改,但需要在44300-44399范围内。

    【讨论】:

      【解决方案4】:

      【讨论】:

      猜你喜欢
      • 2023-04-10
      • 1970-01-01
      • 2015-11-14
      • 2016-06-09
      • 1970-01-01
      • 1970-01-01
      • 2017-01-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多