.net核心应用程序在linux上作为守护程序运行的问题

时间:2018-08-29 10:20:38

标签: linux asp.net-core https daemon

我正在尝试部署.Net核心应用程序,该应用程序基本上是身份服务器。我构建了它并将其部署在AWS服务器上。我启动了服务器:

ubuntu@ip-xxx-xxx-xxx-xxx:/$ /usr/bin/dotnet /var/iss/iss.dll --urls "http://localhost:5009;https://localhost:5010"

/certs/IdentityServer4Auth.pfx
Hosting environment: Production
Content root path: /
Now listening on: http://localhost:5009
Now listening on: https://localhost:5010
Application started. Press Ctrl+C to shut down.

但是,我无法对守护程序服务配置执行相同的操作。这是我的服务文件。

[Unit]
Description=Identity Server

[Service]
WorkingDirectory=/var/iss
ExecStart=/usr/bin/dotnet /var/iss/iss.dll
Restart=always
RestartSec=10  # Restart service after 10 seconds if dotnet service crashes
SyslogIdentifier=dotnet-example
User=www-data
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false

[Install]
WantedBy=multi-user.target

每当我尝试运行此服务时,都会得到以下输出:

  

System.InvalidOperationException:无法配置HTTPS端点。未指定服务器证书,并且找不到默认的开发人员证书。

在调查journalctl时,我发现以下消息

  

System.InvalidOperationException:无法配置HTTPS端点。   没有指定服务器证书,并且...

1 个答案:

答案 0 :(得分:0)

我的问题的解决方案(具有完全相同的错误)是我的csproj名称与程序集名称不同。一旦我将程序集重命名为与我的csproj相同的名称,开发人员的证书就会起作用。