申请ssl证书之文件验证(docker中nginx文件验证)

在阿里云或其它网站申请ssl证书,接着会给出两种验证方式来让你证明服务器是本人的,一种是dns验证,一种是文件验证,我因为申请的二级域名地址对应的是docker中nginx容器的端口,所以我就用文件验证来解决。
在这里插入图片描述上图是阿里云上文件验证所需要执行的路径,通过下载验证文件,放到服务器里,然后访问验证文件来验证是否是本人的服务器。

先说我的验证思路,因为我的二级域名对应的地址是服务器ip地址加上docker中nginx的反代端口地址,也就意味着我即使将验证文件放在阿里云指定的目录下,也是无法访问到的,访问我的域名地址都会经过nginx反代,显示的就是nginx报404错;
所以第一步需要在nginx的反代配置中配置好阿里云指定的目录,当访问指定的验证目录时能够访问到文件;
但是这样还是不能访问到验证文件,因为我的nginx搭建在docker里面,所以我还需要将反代配置中指定验证的目录访问的目录共享出来,通过访问docker中nginx的目录来访问共享的服务器目录就能完成验证了。
实现步骤:

server {
    listen       9192;
    server_name  localhost;

	location ~/.well-known/pki-validation/ {
            root /html;
    }
 }

nginx的配置中我设置成如果访问的地址是http://域名地址/.well-known/pki-validation/,则实际访问的是nginx的/html/.well-known/pki-validation/目录;

version: '3'
services:
  nginx:
    image: nginx:latest                 # 镜像`nginx:latest`
    container_name: hs-nginx               # 容器名为'hs-nginx'
    privileged: true
    restart: always                     # 指定容器退出后的重启策略为始终重启
    volumes:                            # 数据卷挂载路径设置,将本机目录映射到容器目录
      - "./conf/conf.d:/etc/nginx/conf.d"  
      - "./log:/var/log/nginx"
      - "./html:/html/.well-known/pki-validation"
    environment:                        # 设置环境变量,相当于docker run命令中的-e
      TZ: Asia/Shanghai
      LANG: en_US.UTF-8
    ports:                              # 映射端口
      - "9192:9192"
      - "443:443"

在docker-compose设置里,将nginx容器中的/html/.well-known/pki-validation目录共享出到服务器的html目录里(./ 表示当前路径),然后将阿里云上提供的验证文件下载下来(注意:需要将压缩包里的文件解压出来,验证文件在压缩包里),将验证文件放到服务器的./html目录里,然后就验证成功了。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值