AspnetCore Docker部署https

1. 证书

在本机Ubuntu/Windows利用OpenSSL生成自签名的CA root证书(Ubuntu认crt格式),
利用该证书签发IdentityServerapi项目证书(apsnetcore认pfx格式)
分别将ca证书和pfx挂载到对应的docker容器中,并让容器信任该ca证书

如果出现partialchain问题,可以进入容器apt-get update安装curlapt-get install curl执行检查curl -v IP:prot

2. 网络

docker-compose 文件中可以设置networks,实现网络隔离

同一网络下如何访问:

https://container—name:port

IdentityServer中修改IssuerUriapi中修改Authority

docker命令为容器添加网络 docker networks connect network_name container_name

3. MySql

抛出异常 mbind: Operation not permitted

设置docker环境参数cap_add = SYS_NICE

另外要设置密码 MYSQL_ROOT_PASSWORD=1234

如何设置远程访问,进入容器 docker exec -it mysql_databse /bin/bash,进入mysqlmysql,切换数据库use mysql,修改root的hostupdate user set host ='%' where user='root';执行flush privileged

远程访问MySQL容器命令: mysql -h IP -u root -p

4. 自签名证书

4.1. Ubuntu

$ openssl req -x509 \
    -newkey rsa \
    -outform PEM -out tls-rootca.pem \
    -keyform PEM -keyout tls-rootca.key.pem \
    -days 35600 \
    -nodes \
    -subj "/C=cn/O=mycomp/OU=mygroup/CN=rootca"
# 查看证书
$ openssl x509 -text -noout -in tls-rootca.pem
$ openssl req -newkey rsa:2048 \
  -outform PEM -out tls-intermca.csr \
  -keyform PEM -keyout tls-intermca.key.pem \
  -nodes \
  -extensions v3_ca \
  -config /etc/pki/tls/openssl.cnf \
  -subj "/C=cn/O=mycomp/OU=mygroup/CN=intermca"
$ openssl x509 \
  -req -days 365 \
  -in tls-intermca.csr \
  -out tls-intermca.pem \
  -CA tls-rootca.pem \
  -CAkey tls-rootca.key.pem \
  -CAcreateserial \
  -extensions v3_ca \
  -extfile /etc/pki/tls/openssl.cnf

extfile = /usr/lib/ssl/openssl.cnf

具体可参考 使用openssl创建自签名的证书链

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值