当前位置: 首页 > article >正文

docker镜像发布的应用程序,其配置https的流程

1、docker启动命令:将443端口映射出来,其中注意 /root/app/nginx/ai-ssl(证书存放路径)、/data/app/ai-nginx/nginx.conf(nginx的配置路径)
docker run -d --restart=always -p 12324:80 -p 8443:443 -v /root/app/nginx/ai-ssl:/etc/ssl/agent -v /data/app/ai-nginx/nginx.conf:/etc/nginx/nginx.conf registry.cn-hangzhou.aliyuncs.com/suqinghua/ai-web:0.0.1
2、配置 /data/app/ai-nginx/nginx.conf文件,暴露443端口:

server {
        listen       443 ssl;
        server_name  localhost;

        add_header X-Frame-Options DENY;  # 可以根据需求选择 DENY、SAMEORIGIN 或 ALLOW-FROM

        ssl_certificate /etc/ssl/agent/ca.crt;  #证书路径及文件名
        ssl_certificate_key /etc/ssl/agent/ca.key; #证书路径及文件名

        ssl_session_timeout  5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;

        add_header Permissions-Policy "microphone=*" always;
        #add_header Feature-Policy "microphone *" always;

        location / {
            root   /home/nginx/www/dist/digital-web;
            try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }

        location /prod-api/{
            proxy_cache off; # 转发流式数据
            proxy_buffering off;
            chunked_transfer_encoding on;
            tcp_nopush on;
            tcp_nodelay on;
            keepalive_timeout 300;
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Scheme $scheme;  # 关键:透传HTTPS协议
            proxy_pass http://ip:38081/;
        }

        location /profile/{
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Scheme $scheme;  # 关键:透传HTTPS协议
            proxy_pass http://ip:38081/profile/;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

3、将证书放置 /root/app/nginx/ai-ssl路径下,如下:

root@ssdmx62:~/app/nginx/aihd-ssl# ls
ca.crt  ca.key

需要注意的是,文件名要与nginx中的文件名对应(下列代码出现在步骤二中的nginx.conf文件):

    ssl_certificate /etc/ssl/agent/ca.crt;
    ssl_certificate_key /etc/ssl/agent/ca.key;

4、下面就可以通过域名:8443访问应用。


http://www.kler.cn/a/581744.html

相关文章:

  • Ansible运行原理揭秘:如何用YAML脚本掌控数服务器?
  • ROS分布式部署通信
  • Oracle比较好的几本书籍
  • 云平台一键部署【SGLang】适用于大型语言模型和视觉语言模型的快速服务框架
  • 大语言模型(一) 初识大模型
  • 机器学习编译
  • BGP 规划问题、路由黑洞与环路
  • MySQL------存储引擎和用户和授权
  • kafka zookeeper 集群搭建
  • mysql的Innodb最大支持的索引长度是多少,以及索引长度怎么计算
  • 支持selenium的chrome driver更新到134.0.6998.35
  • 【语料数据爬虫】Python爬虫|批量采集会议纪要数据(1)
  • SpringMVC执行的流程
  • 上海市计算机学会竞赛平台2025年2月月赛丙组子矩阵和
  • 鸿蒙app开发中实现 底部抽屉效果动效
  • 7 Series FPGA DCI—Only available in the HP I/O banks
  • 【每日八股】Redis篇(五):应用(上)
  • spark yum配置
  • 【新人系列】Golang 入门(四):集合类型 - 上
  • Linux各种命令大全