CenterOS7 Docker配置阿里云ssl到nginx中,并代理springboot jar 项目

此处省略申请阿里云的证书过程。CenterOs7  nginx 代理的过程请参考  >>>>【参考】。看参考,熟悉配置ssl的流程。

此处省略安装docker和使用docker 安装 Nginx。

至于部署springboot jar 项目,把jar项目制作成docker 镜像的过程请参考 >>>>【将springboot jar 项目制作成docker镜像】。

前提:

springboot jar项目创建成docker镜像后能正常访问;

docker中安装了Nginx

服务器打开项目所需要的端口

服务器打开了支持https的443端口

已经申请的阿里云免费的ssl证书文件.这里主要要看以上的参考。、

 

步骤:

1.首先说明:docker 安装的Nginx的文件基础路径为:/opt/nginx/   。运行安装的nginx 镜像。运行springboot jar项目镜像。

2.在服务器的某个地方创建一个文件夹,名称为:nginx。专门用来存放docker中的配置文件。此处我创建在根路径 下。

3.在此文件中创建一个名为:cert 的文件夹,把在阿里云中下载的Nginx的证书文件解压上传到该文件夹中。

4.使用docker命令将安装在docker中的nginx默认配置文件复制出来。放到conf文件夹中。

docker cp ngixn:/etc/nginx/nginx.conf /nginx/nginx.conf

格式:docker cp 运行镜像的名称或id:/etc/nginx/nginx.conf  复制到的目标地址

 5.将此文件中按照配置Nginx ssl的方式进行修改。

我的配置如下:

#user  nobody;
worker_processes  1;

error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

  	upstream thezone3{
    	server  主机ip:8080;
	}
  

    sendfile        on;

    keepalive_timeout  65;

    server {
        listen       80;
        server_name  http://主机ip:8080;

        location / {
			rewrite ^(.*)$ https://$host$1 permanent;
            root   html;
            index  index.html index.htm;
        }

        location = /50x.html {
            root   html;
        }
 
    }

	
    # HTTPS server
    #
    server {
        listen       443 ssl;
        
        #此处填写的是要在浏览器中访问的域名
        server_name 访问的域名;
		ssl on;
        ssl_certificate    /etc/nginx/cert/证书名.pem;
       	ssl_certificate_key  /etc/nginx/cert/证书名.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;
		ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

		rewrite ^(.*)$ https://$host$1 permanent;

        location / {
            #此处的参数是运行springboot jar项目镜像的端口以及主机的IP地址
			proxy_pass   http://服务器ip:项目端口;

			proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $http_host;
            proxy_set_header X-NginX-Proxy true;

            proxy_redirect off;
       }
    }
}

6.配置完成后将文件上传到docker Nginx中。

docker cp /nginx/nginx.conf Nginx镜像名称或id:/etc/nginx/nginx.conf

7.使用命令重启docker Nginx:

#查看当前的镜像
docker ps -a 

#停止Nginx镜像
docker stop Nginx镜像id或名称


#启动Nginx镜像
docker start Nginx镜像id或名称

8.查看启动情况:

docker  ps -a 

结果 :

若镜像中运行状态【上图黄色部分】为:Exited  则说明未启动成功。

使用命令查看日志:检查报错信息。

docker logs Nginx镜像的id 

 如报错为配置文件中找不到日志文件:error_log  logs/error.log;

则需要创建一个文件夹名为:logs 并在其中创建文件名为:error.log 的文件。

然后使用命令将此文件夹上传到镜像中,重启镜像。

docker cp /logs 镜像名或id:/etc/nginx/

运行镜像启动成功后访问配置文件中配置的访问地址。即可。

如下:

加锁则说明ssl配置成功。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小张帅三代

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值