博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何在docker配置asp.net core https协议
阅读量:7017 次
发布时间:2019-06-28

本文共 1818 字,大约阅读时间需要 6 分钟。

本文参考自

  自从微软发布.net core以来,就在许多社区掀起了讨论,笔者也是在工作中开始学习.net core/asp.net core的。说实话,在学习开发asp.net core中,笔者遇到了非常多的问题,踩了许多坑,比如.net core1.1版本中没有提供system.drawing类库,笔者只能借用mono的drawing库来实现一些验证码的绘制;又比如.net core中没有office处理类库,又只能寻找第三方开发的EPPLUS.Core来辅助实现excel的处理。在翻过一座座大山、踩过一个个坑之后,终于到了部署阶段,谁想boss说要在docker上部署https让我彻底懵逼了,度娘上找了半天的没一片文章有用,最后还是找了谷哥才把问题解决,所以才想写篇文章,学习一下。

  对于只想把asp.net core部署在iis或者Kestrel部署的可以参考文章

  

  

  好,那么进入正题~~

  (1)导入Kestrel Https包

"Microsoft.AspNetCore.Server.Kestrel.Https": "1.0.1"

  (2)program.cs配置https

public static void Main(string[] args)        {            var host = new WebHostBuilder()                .UseKestrel(opt=> {                    opt.UseHttps("server.pfx", "123456");                })                .UseUrls("https://*:443")                .UseContentRoot(Directory.GetCurrentDirectory())                .UseIISIntegration()                .UseStartup
() .Build(); host.Run(); }

  在配置文件中,我们设置签名文件名为server.pfx,密码为123456,配置端口为443;由于docker是一个容器,运行环境独立,我们需要在容器中用命令创建签名文件。

  (3)编写Dockerfile文件

  在Dockerfile文件中加入创建签名文件命令

#定义签名密码ENV certPassword 123456 RUN openssl genrsa -des3 -passout pass:${certPassword} -out server.key 2048RUN openssl rsa -passin pass:${certPassword} -in server.key -out server.keyRUN openssl req -sha256 -new -key server.key -out server.csr -subj '/CN=localhost'RUN openssl x509 -req -sha256 -days 365 -in server.csr -signkey server.key -out server.crtRUN openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt -certfile server.crt -passout pass:${certPassword}

  (4)创建docker image

sudo docker build -t httpssample .

  (5)创建容器

//前台运行sudo docker run -it -p 443:443 httpssample//后台运行sudo docker run -t -d -p 443:443 httpssample

  这样就能访问https://localhost/了

转载于:https://www.cnblogs.com/billming/p/7131557.html

你可能感兴趣的文章
java.io几种读写文件的方式
查看>>
Spring中常用的注解(@Entity,@Table,@Column,@Repository,@Service)
查看>>
SharePoint 2013 配置传入电子邮件(一)
查看>>
Linux命令篇之chsh命令和chfn命令
查看>>
Useful websites
查看>>
转贴:下辈子,无论爱与不爱,都不会再见
查看>>
内核mailbox
查看>>
echarts - 树图实现四个层级
查看>>
【Kotlin】spring boot项目中,在Idea下启动,报错@Configuration class 'BugsnagClient' may not be final....
查看>>
Leetcode | Merge k Sorted Lists
查看>>
深入理解JavaScript(1)
查看>>
foreach遍历----for(object o: list)
查看>>
iOS被开发者遗忘在角落的NSException-其实它很强大
查看>>
java.lang.IllegalArgumentException: Can not set int field *** to null value
查看>>
NSString类的相关用法
查看>>
Python编写简单计算器(正则表达式应用)
查看>>
KMP - HDU 1711 Number Sequence
查看>>
Storm 第四章 Storm常见问题
查看>>
「每日一码」(精品代码,质量保证)阶乘
查看>>
python日常使用
查看>>