我有一个net core 6 API作为systemd服务在Linux上运行
这是配置文件
[Unit]
Description=Van Jugando NETCore API
[Service]
WorkingDirectory=/var/www/vanjugando
ExecStart=/usr/bin/dotnet /var/www/vanjugando/VanJugando.dll
Restart=always
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=ASPNETCORE_URLS=http://0.0.0.0:3000
SyslogIdentifier=VanJugando
[Install]
WantedBy=multi-user.target
我也有一个Web应用程序运行在Apache 2上的/var/www/html端口:80这一个有SSL工作(与certbot SSL生成),我想实现SSL为我的净核心6 API端口3000以及,但不知道如何做到这一点与systemd服务
问题是如何在我的.service文件上配置SSL?
1条答案
按热度按时间fivyi3re1#
所有语言都具有加载私有和证书文件以通过https公开服务所需的工具。
**nodejs
java(spring Boot )
C#
回顾一些文章,c#需要一个pfx文件。要从证书和私钥创建它,请使用this:
之后,您可以在Program.cs中设置此参数以加载pfx文件
建议
正如我在这里解释的那样,它不直接在源代码应用程序级别处理https是可行的。
最明显的缺点之一是,每个开发人员都需要证书才能在其本地主机上启动应用程序:/
你应该在另一层处理https,比如nginx,apache,haproxy,aws loadbalancer等。这样,您的目标应用程序将是http,但公开为https
在您的例子中,如果您有apache,并且您的应用程序在3000端口启动,您可以在类似**/etc/apache 2/sites-available/sample.conf**的文件中添加此虚拟主机
现在,使用以下命令启用新站点配置:
如果没有错误,那么你的网站就可以使用https了!
更多详情请点击此处:https://www.syncfusion.com/blogs/post/hosting-multiple-asp-net-core-apps-in-ubuntu-linux-server-using-apache.aspx
参考资料