这个跟WTM无关的问题.如何部署HTTPS证书.

发布于 2020-03-05 00:20:02

.net core 在不使用IIS 的情况下.
通过https://docs.microsoft.com/zh-cn/aspnet/core/security/enforcing-ssl?view=aspnetcore-2.1&tabs=visual-studio
强制使用HTTPS后.
如何使用证书呢?
证书如何生成和使用呢?

我想问的是 .netcore 直接设定证书. 直接暴露在公网上的那种情况应该如何来.
就是不通过nginx,IIS.等web服务器的方式 应该如何使用https.

该问题已解决
给后来遇到的朋友一个帮助.

webBuilder.UseKestrel(options =>
{
    options.Listen(System.Net.IPAddress.Loopback, 6600, listenOptions =>
    {
        //填入pfx文件路径和指定的密码            
        listenOptions.UseHttps(@"xxxx.pfx", "key");
    });
});

查看更多

关注者
0
被浏览
260
2 个回答
Vito
Vito 2020-03-05

不推荐直接将netcore应用直接暴露到公网,一般均会在应用前部署nginx或其他代理服务器,同时在代理服务器上设置https证书,代理服务器到netcore应用的请求则使用http协议。

  1. https证书可以在阿里云/腾讯云等云平台购买付费或者免费的证书;
  2. 也可以创建自签名证书,但是证书链不受信任,如果不是用于内部使用,不建议使用自签名证书。

证书部署方式同样在云平台上也是有文档的,参考阿里云:链接

nginx中配置http跳转https(永久重定向)

server {
    server_name  community.walkingtec.cn;
    listen 443 ssl;
    .
    .
    .此处省略
    .
    .
    location / {
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://XXXXXXXXX:[port]/;
    }
}
server {
    server_name  community.walkingtec.cn;
    listen 80;

    rewrite ^(.*)$ https://${server_name}$1 permanent; 
}
slime
slime 2020-03-09

好了.
经过一系列的折磨只需要这样做就好了

webBuilder.UseKestrel(options =>
{
    options.Listen(System.Net.IPAddress.Loopback, 6600, listenOptions =>
    {
        //填入pfx文件路径和指定的密码            
        listenOptions.UseHttps(@"xxxx.pfx", "key");
    });
});

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览