51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

创建 Nginx docker 容器反向代理 https

Nginx 反向代理可以方便地实现服务器网络配置,本文记录使用 Nginx 容器进行反向代理 https 服务的方法。

预备知识 {#预备知识}

当前环境 {#当前环境}

介绍一下我当前的实验环境,有相似需求和环境的同志可以参考我的操作流程

  • 本机有部署在 IP:Port 的某个网页服务器
  • 服务器没有配置 https,仅提供 http 协议服务
  • 安装好了docker
  • 准备安装 nginx docker
  • 目的:以 https 协议对外反向代理本地 http 服务

操作流程 {#操作流程}

创建 Nginx 容器 {#创建-Nginx-容器}

  • 先在本地创建共享文件夹 /share/ssl

创建SSL证书 {#创建SSL证书}

我是直接在 nginx 容器中创建的证书,也可以在服务器生成导入到容器中

自签名证书会在登陆网站时提示证书不被CA信任,需要手动添加到本地信任证书列表中

想要比较方便地访问需要生成CA证书

事实上我自己没有成功生成出来,最终使用的SSL证书是在百度智能云申请

  • 获取 server_private.key, server.crt 文件
  • 将证书放在 /ssl 文件夹中

Nginx 配置 {#Nginx-配置}

  • /etc/nginx/conf.d 文件夹中创建配置文件 test.conf
  • 配置完成后重启 nginx 服务
  • 配置好后可以查看是否配置成功

如果有错误会在命令输入后提示

  • 新版内核的 Linux 发行版要求密钥长度最少2048位,1024位的可能报错

测试 {#测试}

  • 访问 本机 IP:9443 端口

  • 地址仅能以 https 协议访问

  • https 后可以看到被代理的网页内容:

  • 而且域名如果不是注册证书时使用的 Common Name 会给出不安全的提示

  • 正确配置证书后可以正常访问:

参考资料 {#参考资料}



文章链接:
https://www.zywvvd.com/notes/coding/internet/nginx-docker-https/nginx-docker-https/

赞(1)
未经允许不得转载:工具盒子 » 创建 Nginx docker 容器反向代理 https