.Net Core 2.2 API в сервисе Linux с SSL (Ubuntu 16.04)

У меня есть.Net Core 2.2 API, который был протестирован и работа при запуске от командного процессора Linux (Ubuntu 16.04) но, когда выполнено как услуга только http связывается, не https. Я знаю, что это происходит более вероятно из-за среды обработки услуг, бывшей должной быть сказанной о SSL, но я не нашел информации о том, как настроить это в сервисном файле единицы. Любая справка ценилась бы.

Сервисный файл единицы:

[Unit]
Description=Authentication .NET Web API App running on CentOS 7

[Service]
WorkingDirectory=/var/www/Authentication
ExecStart=/usr/share/dotnet/dotnet /var/www/Authentication/Authentication.dll
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=dotnet-authentication
User=www-data
Environment=ASPNETCORE_ENVIRONMENT=Production

[Install]
WantedBy=multi-user.target

Консольный вывод:

warn: Microsoft.AspNetCore.Server.Kestrel[0]
      Unable to bind to http://localhost:5000 on the IPv6 loopback interface: 'Cannot assign requested address'.
warn: Microsoft.AspNetCore.Server.Kestrel[0]
      Unable to bind to https://localhost:5001 on the IPv6 loopback interface: 'Cannot assign requested address'.
Hosting environment: Production
Content root path: /var/www/Authentication
Now listening on: http://localhost:5000
Now listening on: https://localhost:5001
Application started. Press Ctrl+C to shut down.

состояние systemctl:

● Authentication.service - Authentication .NET Web API App running on CentOS 7
   Loaded: loaded (/etc/systemd/system/Authentication.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-07-22 06:48:36 CDT; 38min ago
 Main PID: 11506 (dotnet)
   CGroup: /system.slice/Authentication.service
           └─11506 /usr/share/dotnet/dotnet /var/www/Authentication/Authentication.dll

Jul 22 06:48:38 Chris-PC dotnet-authentication[11506]: warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[59]
Jul 22 06:48:38 Chris-PC dotnet-authentication[11506]:       Neither user profile nor HKLM registry available. Using an ephemeral key repository. Protected data will be unavailable when application exits.
Jul 22 06:48:38 Chris-PC dotnet-authentication[11506]: warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35]
Jul 22 06:48:38 Chris-PC dotnet-authentication[11506]:       No XML encryptor configured. Key {bc217aa5-1a54-4033-bcb3-0d1bd39cf425} may be persisted to storage in unencrypted form.
Jul 22 06:48:40 Chris-PC dotnet-authentication[11506]: warn: Microsoft.AspNetCore.Server.Kestrel[0]
Jul 22 06:48:40 Chris-PC dotnet-authentication[11506]:       Unable to bind to http://localhost:5000 on the IPv6 loopback interface: 'Cannot assign requested address'.
Jul 22 06:48:40 Chris-PC dotnet-authentication[11506]: Hosting environment: Production
Jul 22 06:48:40 Chris-PC dotnet-authentication[11506]: Content root path: /var/www/Authentication
Jul 22 06:48:40 Chris-PC dotnet-authentication[11506]: Now listening on: http://localhost:5000
Jul 22 06:48:40 Chris-PC dotnet-authentication[11506]: Application started. Press Ctrl+C to shut down.

Вывод journalctl:

Jul 22 06:48:36 Chris-PC systemd[1]: Started Authentication .NET Web API App running on CentOS 7.
Jul 22 06:48:38 Chris-PC dotnet-authentication[11506]: : Microsoft.AspNetCore.DataProtection.Repositories.EphemeralXmlRepository[50]
Jul 22 06:48:38 Chris-PC dotnet-authentication[11506]:       Using an in-memory repository. Keys will not be persisted to storage.
Jul 22 06:48:38 Chris-PC dotnet-authentication[11506]: warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[59]
Jul 22 06:48:38 Chris-PC dotnet-authentication[11506]:       Neither user profile nor HKLM registry available. Using an ephemeral key repository. Protected data will be unavailable when application exits.
Jul 22 06:48:38 Chris-PC dotnet-authentication[11506]: warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35]
Jul 22 06:48:38 Chris-PC dotnet-authentication[11506]:       No XML encryptor configured. Key {bc217aa5-1a54-4033-bcb3-0d1bd39cf425} may be persisted to storage in unencrypted form.
Jul 22 06:48:40 Chris-PC dotnet-authentication[11506]: warn: Microsoft.AspNetCore.Server.Kestrel[0]
Jul 22 06:48:40 Chris-PC dotnet-authentication[11506]:       Unable to bind to http://localhost:5000 on the IPv6 loopback interface: 'Cannot assign requested address'.
Jul 22 06:48:40 Chris-PC dotnet-authentication[11506]: Hosting environment: Production
Jul 22 06:48:40 Chris-PC dotnet-authentication[11506]: Content root path: /var/www/Authentication
Jul 22 06:48:40 Chris-PC dotnet-authentication[11506]: Now listening on: http://localhost:5000
Jul 22 06:48:40 Chris-PC dotnet-authentication[11506]: Application started. Press Ctrl+C to shut down.
0
задан 22 July 2019 в 15:50

1 ответ

Найденный проблемой связан с идентификатором www-пользователя-данных. Если я редактирую сервисную единицу для использования моего идентификатора (идентификатор, выполненный под командным процессором) затем и http и https связываются. Должен выяснить то, что отличается с ww-данными.

состояние systemctl:

● Authentication.service - Authentication .NET Web API App running on CentOS 7
   Loaded: loaded (/etc/systemd/system/Authentication.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-07-22 08:17:05 CDT; 8min ago
 Main PID: 19440 (dotnet)
   CGroup: /system.slice/Authentication.service
           └─19440 /usr/share/dotnet/dotnet /var/www/Authentication/Authentication.dll

Jul 22 08:17:05 Chris-PC systemd[1]: Started Authentication .NET Web API App running on CentOS 7.
Jul 22 08:17:10 Chris-PC dotnet-authentication[19440]: warn: Microsoft.AspNetCore.Server.Kestrel[0]
Jul 22 08:17:10 Chris-PC dotnet-authentication[19440]:       Unable to bind to http://localhost:5000 on the IPv6 loopback interface: 'Cannot assign requested address'.
Jul 22 08:17:11 Chris-PC dotnet-authentication[19440]: warn: Microsoft.AspNetCore.Server.Kestrel[0]
Jul 22 08:17:11 Chris-PC dotnet-authentication[19440]:       Unable to bind to https://localhost:5001 on the IPv6 loopback interface: 'Cannot assign requested address'.
Jul 22 08:17:11 Chris-PC dotnet-authentication[19440]: Hosting environment: Production
Jul 22 08:17:11 Chris-PC dotnet-authentication[19440]: Content root path: /var/www/Authentication
Jul 22 08:17:11 Chris-PC dotnet-authentication[19440]: Now listening on: http://localhost:5000
Jul 22 08:17:11 Chris-PC dotnet-authentication[19440]: Now listening on: https://localhost:5001
Jul 22 08:17:11 Chris-PC dotnet-authentication[19440]: Application started. Press Ctrl+C to shut down.
0
ответ дан 23 October 2019 в 09:39

Другие вопросы по тегам:

Похожие вопросы: