Как настроить Kestrel на SSL с помощью директивы в файле .service
Для создания SSL-сертификата для вашего веб-приложения ASP.NET Core, созданного на Linux, вам нужно будет выполнить следующие шаги:
1. Создайте конфигурационный файл «server.crt» и «server.key» для вашего сертификата. Вы можете использовать OpenSSL для этого.
Это создаст самозаверенный сертификат, который будет действовать в течение одного года (365 дней). Вам будут предложены некоторые вопросы, такие как страна, город, организация и т.д. Просто ответьте на них и сохраните файлы «server.crt» и «server.key».
2. Скопируйте эти файлы в каталог, где находится ваше приложение.
3. Откройте файл ".service", который управляет вашим сервисом в системе Systemd. Добавьте следующую строку в секцию "[Service]":
Замените "/path/to/your/certificate/" на путь к вашим файлам сертификата. Можете поставить сразу боевой сертификат.
Например, у меня путь Kestrel'а выглядит так:
Kestrel у меня внутренний, проксируется на Apache2. У вас может быть похоже.
4. После внесения изменений в файл ".service", перезапустите ваш сервис, чтобы изменения вступили в силу:
Теперь ваше приложение должно работать через HTTPS. Убедитесь, что вы настроили ваш веб-браузер на доверие этому самозаверенному сертификату, так как он не является доверенным центром сертификации.
1. Создайте конфигурационный файл «server.crt» и «server.key» для вашего сертификата. Вы можете использовать OpenSSL для этого.
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout server.key -out server.crt
Это создаст самозаверенный сертификат, который будет действовать в течение одного года (365 дней). Вам будут предложены некоторые вопросы, такие как страна, город, организация и т.д. Просто ответьте на них и сохраните файлы «server.crt» и «server.key».
2. Скопируйте эти файлы в каталог, где находится ваше приложение.
3. Откройте файл ".service", который управляет вашим сервисом в системе Systemd. Добавьте следующую строку в секцию "[Service]":
Environment="ASPNETCORE_Kestrel__Certificates__Default__Path=/path/to/your/certificate/server.crt"
Environment="ASPNETCORE_Kestrel__Certificates__Default__Password=/path/to/your/certificate/server.key"
Замените "/path/to/your/certificate/" на путь к вашим файлам сертификата. Можете поставить сразу боевой сертификат.
Например, у меня путь Kestrel'а выглядит так:
Environment=ASPNETCORE_URLS=http://localhost:9002/
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
Environment="ASPNETCORE_Kestrel__Certificates__Default__Path=/home/ms_gubin/gubin_systems.crt"
Environment="ASPNETCORE_Kestrel__Certificates__Default__Password=/home/ms_gubin/gubin_systems.key"
Kestrel у меня внутренний, проксируется на Apache2. У вас может быть похоже.
4. После внесения изменений в файл ".service", перезапустите ваш сервис, чтобы изменения вступили в силу:
systemctl daemon-reload
systemctl restart your-service-name
Теперь ваше приложение должно работать через HTTPS. Убедитесь, что вы настроили ваш веб-браузер на доверие этому самозаверенному сертификату, так как он не является доверенным центром сертификации.
Похожие публикации
Нет комментариев