docker镜像的nginx配置证书SSL,单独配置单个localtion使用证书,其他nginx配置不影响

docker镜像的nginx配置证书SSL,单独配置单个localtion使用证书,其他nginx配置不影响

原本的地址是http://test.dev.net/mobile

想要的效果是https://test.dev.net/mobile

但是其他地址还是http://test.dev.net/smart_mobile或者http://test.dev.net/不变

一、原本的nginx配置

javascript 复制代码
server {
    listen       80;
    server_name  test.dev.net;
    client_max_body_size 500m;
    #access_log  /var/log/nginx/host.access.log  main;
    
    location / {
           # 不缓存html,防止程序更新后缓存继续生效
      if ($request_filename ~* .*\.(?:htm|html)$) {
         add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate";
         access_log on;
      }
      root   /etc/nginx/vue_page/boyue/dist;
      try_files $uri $uri/ /index.html;
      index index.html index.htm;
   }
	location /smart_mobile {
             add_header 'Access-Control-Allow-Origin' '*';
                 add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
                 alias    /etc/nginx/vue_page/boyue/smart_mobile;
                 try_files $uri $uri/ /boyue/index.html;
                 index   index.html;
        }

    location /mobile {
         add_header 'Access-Control-Allow-Origin' '*';
         add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
         alias  /etc/nginx/vue_page/boyue/mobile;
         try_files $uri $uri/ /boyue/index.html;
         index   index.html;
    }
}   

现在需要修改/mobile模块使用https来访问,但是不影响其他地址。

二、修改原本server块,下面再增加一个server块写ssl证书配置

javascript 复制代码
server {
    listen 443 ssl;
    server_name test.dev.net;

    # 全局 SSL 配置(必须)
    ssl_certificate /etc/nginx/ssl/fkp.pem;
    ssl_certificate_key /etc/nginx/ssl/fkp.key;

    # SSL 配置
    #ssl_protocols TLSv1.2 TLSv1.3;
    #ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384;
    #ssl_prefer_server_ciphers off;

    # 默认所有 443 端口的请求都需要 SSL

    # 只有这个 location 实际处理请求
    location /mobile {

        # 你的应用配置
         add_header 'Access-Control-Allow-Origin' '*';
         add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
         alias  /etc/nginx/vue_page/boyue/mobile;
         try_files $uri $uri/ /boyue/index.html;
         index   index.html;
    }

}

只要生成证书后配置证书地址即可。

实际配置中遇到的错误:因为用到了docker镜像配置nginx,导致出现端口只映射了80,未映射443端口,所以配置完效果未出现

原始nginx镜像:

最后增加了个新的nginx的docker镜像。为什么新加,因为不想影响旧nginx的运行,

新增的nginx镜像:

新增docker命令如下:主要映射nginx配置文件目录、ssl证书目录和前端包的目录

javascript 复制代码
docker run -d   
--name nginx-ssl   
-p 443:443   
-v /home/zxd/docker_mounts/nginx/nginx.conf:/etc/nginx/nginx.conf   
-v /home/zxd/docker_mounts/nginx/conf.d:/etc/nginx/conf.d   
-v /home/zxd/docker_mounts/nginx/ssl:/etc/nginx/ssl   
-v /home/zxd/docker_mounts/nginx/vue_page:/etc/nginx/vue_page   
nginx:latest

注意:ssl证书获取方式直接网上找就行,这里不做标注了

相关推荐
BullSmall4 小时前
Anolis OS 8.10 Docker 部署 SonarQube 9.9 完整教程
运维·docker·容器
chexus6 小时前
21. 深入 Nginx HTTP 缓存源码:CDN功能
nginx·http·缓存
java_logo8 小时前
Apache Doris Docker 部署指南:实时分析数据库实战
数据库·docker·apache·doris·apache doris·轩辕镜像·docker部署doris
生活爱好者!21 小时前
我把NAS当作下载机,docker一键部署qb
运维·docker·容器
java_logo21 小时前
Docker Compose 部署 ClickHouse:快速搭建高性能列式数据库
数据库·clickhouse·docker·列式数据库·轩辕镜像·高性能数据库·clickhouse部署教程
MC皮蛋侠客21 小时前
uv 系列(七):CI/CD、Docker 与私有索引——生产级交付
python·ci/cd·docker·uv
用户233376852181 天前
Docker 端口"时通时不通"的排查实战
docker
做个文艺程序员1 天前
Linux第22篇:用Docker容器化你的Java SaaS应用:一次构建,随处运行
java·docker·容器
ShiXZ2131 天前
Redis docker-compose 部署指南
redis·docker·eureka
梦梦代码精1 天前
基于ThinkPHP6 + Vue3的家政预约系统全解析:从LBS定位到自动派单的完整实现
java·docker·开源·php·代码规范