前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >创建 Nginx docker 容器反向代理 https

创建 Nginx docker 容器反向代理 https

作者头像
为为为什么
发布2022-08-06 16:51:36
9770
发布2022-08-06 16:51:36
举报
文章被收录于专栏:又见苍岚又见苍岚

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

预备知识

当前环境

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

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

操作流程

创建 Nginx 容器
  • 先在本地创建共享文件夹 /share/ssl
代码语言:javascript
复制
docker run --name=nginx -p 9443:443 -d --restart=always -v /share/ssl:/ssl nginx
创建SSL证书

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

自签名证书会在登陆网站时提示证书不被CA信任,需要手动添加到本地信任证书列表中 想要比较方便地访问需要生成CA证书 事实上我自己没有成功生成出来,最终使用的SSL证书是在百度智能云申请

  • 获取 server_private.key, server.crt 文件
  • 将证书放在 /ssl 文件夹中
代码语言:javascript
复制
:/ssl# ls
ca.csr  ca.key  ca_public.crt  ca_public.srl  server.crt  server.csr  server_private.key  server_public.pem
Nginx 配置
  • /etc/nginx/conf.d 文件夹中创建配置文件 test.conf
代码语言:javascript
复制
server {
    listen       443 ssl;
    listen  [::]:443 ssl;
    # server_name localhost;

    ssl_certificate     /ssl/key1/server.crt; 
    ssl_certificate_key /ssl/key1/server.key;

    location / {
                    proxy_set_header    X-FORWARDED-FOR $remote_addr;
                    proxy_set_header    X-FORWARDED-PROTO $scheme;
                    proxy_set_header    Host   $http_host;
                    proxy_pass          http://192.168.xxx.xxx:xxxx;
    }
}

  • 配置完成后重启 nginx 服务
代码语言:javascript
复制
service nginx reload
  • 配置好后可以查看是否配置成功
代码语言:javascript
复制
nginx

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

  • 新版内核的 Linux 发行版要求密钥长度最少2048位,1024位的可能报错
代码语言:javascript
复制
SSL: error:140AB18F:SSL routines:SSL_CTX_use_certificate:ee key too small

测试

  • 访问 本机 IP:9443 端口
  • 地址仅能以 https 协议访问
  • https 后可以看到被代理的网页内容:
  • 而且域名如果不是注册证书时使用的 Common Name 会给出不安全的提示
  • 正确配置证书后可以正常访问:

参考资料

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年1月25日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 预备知识
  • 当前环境
  • 操作流程
    • 创建 Nginx 容器
      • 创建SSL证书
        • Nginx 配置
        • 测试
        • 参考资料
        相关产品与服务
        容器镜像服务
        容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档