在Linux上更改主机名和托管.net核心DLL的端口

时间:2019-07-30 06:47:37

标签: c# .net-core centos asp.net-core-webapi kestrel

我正在尝试在CentOS Linux VM上托管我的第一个服务。

我的launchSettings.json看起来像这样:

{
  "$schema": "http://json.schemastore.org/launchsettings.json",
  "iisSettings": {
    "windowsAuthentication": false, 
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:64707",
      "sslPort": 44323
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "launchUrl": "api/test/get",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Release"
      }
    },
    "TestService": {
      "commandName": "Project",
      "launchBrowser": true,
      "launchUrl": "api/test/get",
      "applicationUrl": "https://centos-vm:1234",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Release"
      }
    }
  }
}`

记下主机名和端口。

我使用以下设置发布服务: enter image description here

然后我将发布的文件通过FTP传输到我的VM,并使用以下命令启动服务:

dotnet mytestservice.dll

该服务开始运行,并扩展所有DLL。但是,我的问题来自以下提示:

  

现在收听:http://localhost:5000

如何指定主机名和端口,并将连接更改为安全(https)?

1 个答案:

答案 0 :(得分:2)

在Program.cs中,您有方法CreateHostBuilder,您需要调整此方法。默认情况下,它看起来像这样:

public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                    webBuilder.UseKestrel();
                    webBuilder.UseIISIntegration();
                });

您可以在此处自定义虚拟主机。如果要更改使用的URL,可以使用webBuilder.UseUrls("Url 1", "Url 2"...)