配置三个Spring Boot应用并通过Nginx进行反向代理 讨论中

要配置三个Spring Boot应用并通过Nginx进行反向代理,你可以按照以下步骤操作:

步骤 1: 准备Spring Boot应用

确保每个Spring Boot应用都有不同的端口号。例如,你可以设置第一个应用监听8080端口,第二个监听8081端口,第三个监听8082端口。在每个应用的application.propertiesapplication.yml中配置:

 

Properties

深色版本

1# 对于第一个应用
2server.port=8080
3
4# 对于第二个应用
5server.port=8081
6
7# 对于第三个应用
8server.port=8082

然后分别为每个应用构建Docker镜像,使用不同的Dockerfile或者在同一个Dockerfile中通过ARGs参数来区分不同应用的构建。

步骤 2: 准备Nginx配置

编辑Nginx配置文件,使每个Spring Boot应用都有自己的location块。例如:

 

Nginx

深色版本

1server {
2    listen       80;
3    server_name  localhost;
4    return       301 https://$host$request_uri;
5}
6
7server {
8    listen 443 ssl;
9    server_name example.com;
10
11    ssl_certificate /etc/nginx/ssl/server.crt;
12    ssl_certificate_key /etc/nginx/ssl/server.key;
13
14    location /app1/ {
15        proxy_pass http://app1:8080;
16        proxy_set_header Host $host;
17        proxy_set_header X-Real-IP $remote_addr;
18        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
19        proxy_set_header X-Forwarded-Proto $scheme;
20    }
21
22    location /app2/ {
23        proxy_pass http://app2:8081;
24        proxy_set_header Host $host;
25        proxy_set_header X-Real-IP $remote_addr;
26        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
27        proxy_set_header X-Forwarded-Proto $scheme;
28    }
29
30    location /app3/ {
31        proxy_pass http://app3:8082;
32        proxy_set_header Host $host;
33        proxy_set_header X-Real-IP $remote_addr;
34        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
35        proxy_set_header X-Forwarded-Proto $scheme;
36    }
37}

在这个配置中,/app1/, /app2/, 和 /app3/ 是访问各个应用的路径前缀。

步骤 3: 创建Docker Compose文件

docker-compose.yml中定义所有服务:

 

Yaml

深色版本

1version: '3'
2
3services:
4  nginx:
5    image: nginx
6    container_name: nginx
7    ports:
8      - "80:80"
9      - "443:443"
10    volumes:
11      - ./nginx.conf:/etc/nginx/nginx.conf
12      - ./ssl:/etc/nginx/ssl
13    depends_on:
14      - app1
15      - app2
16      - app3
17
18  app1:
19    image: my-spring-boot-app1
20    container_name: app1
21    environment:
22      - SPRING_PROFILES_ACTIVE=docker
23    expose:
24      - "8080"
25
26  app2:
27    image: my-spring-boot-app2
28    container_name: app2
29    environment:
30      - SPRING_PROFILES_ACTIVE=docker
31    expose:
32      - "8081"
33
34  app3:
35    image: my-spring-boot-app3
36    container_name: app3
37    environment:
38      - SPRING_PROFILES_ACTIVE=docker
39    expose:
40      - "8082"

步骤 4: 部署

运行Docker Compose来启动服务:

 

Bash

深色版本

1docker-compose up -d

这样,你就有了三个通过Nginx反向代理的Spring Boot应用,每个应用都运行在不同的容器中,并且可以通过各自的路径前缀访问。记得确保SSL证书和私钥文件正确配置在ssl目录下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/384624.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

秋招突击——7/22——复习{堆——前K个高频元素}——新作{回溯——单次搜索、分割回文串。链表——环形链表II,合并两个有序链表}

文章目录 引言复习堆堆——前K个高频元素个人实现复习实现二参考实现 新作单词搜索个人实现参考实现 分割回文串个人实现参考实现 环形链表II个人实现参考实现 两个有序链表个人实现 总结 引言 又是充满挑战性的一天,继续完成我们的任务吧!继续往下刷&a…

【C++】模板详解

📢博客主页:https://blog.csdn.net/2301_779549673 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📢本文由 JohnKi 原创,首发于 CSDN🙉 📢未来很长&#…

域内攻击手法——AS-REP Roasting攻击和Kerberoasting攻击

一、AS-REP Roasting攻击 1、AS-REP Roasting攻击原理 AS-REP Roasting是一种对用户账户进行离线爆破的攻击方式。但是该攻击方式使用上比较受限,因为其需要用户账户设置不要求Kerberos 预身份验证选项,而该选项默认是没有勾选的。Kerberos 预身份验证…

基于jeecgboot-vue3的Flowable流程仿钉钉流程设计器-发送信息服务处理

因为这个项目license问题无法开源,更多技术支持与服务请加入我的知识星球。 1、因为仿钉钉设计器里发送消息处理是一个服务任务,所以要根据这个服务任务进行处理 2、这里目前只对消息进行处理,就是用websocket的发送方式 输入相应的内容&…

最新爆火的开源AI项目 | LivePortrait 本地安装教程

LivePortrait 本地部署教程,强大且开源的可控人像AI视频生成 1,准备工作,本地下载代码并准备环境,运行命令前需安装git 以下操作不要安装在C盘和容量较小的硬盘,可以找个大点的硬盘装哟 2,需要安装FFmp…

Java-- Stream流

感受stream流 代码 package demo1;import javax.naming.Name; import java.util.ArrayList; import java.util.Arrays; import java.util.List;public class StreamDemo1 {public static void main(String[] args) {ArrayList<String> list1 new ArrayList<>();l…

基于深度学习算法,支持再学习功能,不断提升系统精准度的智慧地产开源了。

智慧地产视觉监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒&#xff0c;省去繁琐重复的适配流程&#xff0c;实现芯片、算法、应用的全流程组合&#xff0c;从而大大减少企业级应用约95%的开发成本。通过计算机视觉和…

Java | Leetcode Java题解之第279题完全平方数

题目&#xff1a; 题解&#xff1a; class Solution {public int numSquares(int n) {if (isPerfectSquare(n)) {return 1;}if (checkAnswer4(n)) {return 4;}for (int i 1; i * i < n; i) {int j n - i * i;if (isPerfectSquare(j)) {return 2;}}return 3;}// 判断是否为…

Spring Security学习笔记(二)Spring Security认证和鉴权

前言&#xff1a;本系列博客基于Spring Boot 2.6.x依赖的Spring Security5.6.x版本 上一篇博客介绍了Spring Security的整体架构&#xff0c;本篇博客要讲的是Spring Security的认证和鉴权两个重要的机制。 UsernamePasswordAuthenticationFilter和BasicAuthenticationFilter是…

Idea 编译项目报错 java: java.lang.OutOfMemoryError:GC overhead limit exceeded

报错 java: java.lang.OutOfMemoryError: WrappedJavaFileObject[org.jetbrains.jps.javac.InputFileObjectpos13979: GC overhead limit exceeded解决 默认是700M&#xff0c;有的时候项目引入的依赖包比较大&#xff0c;可能超过了700M,需要扩大&#xff0c;根据实际情况设…

Dockerfile指令详解和Docker操作命令

1.容器的特点&#xff1a;1&#xff09;自包含&#xff08;包括应用程序及其运行环境&#xff09;&#xff1b;2&#xff09;可移植&#xff1b;3&#xff09;相互隔离&#xff1b;4&#xff09;轻量级。 2.docker成为容器的事实标准在于&#xff1a;1&#xff09;在运行环境上…

开局一个启动器:从零开始入坑ComfyUI

前几天刷某乎的时候看到了一位大佬写的好文&#xff0c;可图 IP-Adapter 模型已开源&#xff0c;更多玩法&#xff0c;更强生态&#xff01; - 知乎 (zhihu.com) 久闻ComfyUI大名&#xff0c;决定试一下。这次打算不走寻常路&#xff0c;不下载现成的一键包了&#xff0c;而是…

ESP32和mDNS学习

目录 mDNS的作用mDNS涉及到的标准文件组播地址IPv4 多播地址IPv6 多播地址预先定义好的组播地址 mDNS调试工具例程mDNS如何开发和使用注册服务查询服务 mDNS的作用 mDNS 是一种组播 UDP 服务&#xff0c;用来提供本地网络服务和主机发现。 你要和设备通信&#xff0c;需要记住…

【计算机网络】静态路由实验

一&#xff1a;实验目的 1&#xff1a;掌握通过静态路由方法实现网络的连通性。 二&#xff1a;实验仪器设备及软件 硬件&#xff1a;RCMS-C服务器、网线、Windows 2019/2003操作系统的计算机等。 软件&#xff1a;记事本、WireShark、Chrome浏览器等。 三&#xff1a;实验方…

Spark实时(二):StructuredStreaming编程模型

文章目录 StructuredStreaming编程模型 一、基础语义 二、事件时间和延迟数据 三、​​​​​​​容错语义 StructuredStreaming编程模型 一、基础语义 Structured Streaming处理实时数据思想是将实时数据看成一张没有边界的表,数据源源不断的追加到这张表中,这可以让我…

实时捕获数据库变更

1.CDC概述 CDC 的全称是 Change Data Capture &#xff0c;在广义的概念上&#xff0c;只要能捕获数据变更的技术&#xff0c;我们都可以称为 CDC 。我们目前通常描述的CDC 技术主要面向数据库的变更&#xff0c;是一种用于捕获数据库中数据变更的技术&#xff0c;CDC 技术应用…

web网站组成

web网站由四部分组成&#xff1a;浏览器 前端服务器 后端服务器 数据库服务器 流程&#xff1a; 1.浏览器输入网站后&#xff0c;向前端服务器发送请求&#xff0c;前端服务器响应&#xff0c;静态的数据给浏览器。 2.前端代码中script中有url,这个是向后台发送请求的网…

Windows下帆软BI(finebi)单机部署移植(Tomcat)攻略

一、基础环境 操作系统&#xff1a;Windows 10 64bit 帆软BI 版本&#xff1a;V9.0/V10.0 HTTP工具&#xff1a;Tomcat 外置数据库&#xff1a;Oracle 11g 实验内容&#xff1a;将已经部署好的帆软BI从一台电脑移植到另一台电脑 二、前期准备 1、做好外置数据库移植&…

结合创新!小波变换+注意力机制,实现100%分类准确率

小波变换是一种新的变换分析方法&#xff0c;它能有效提取信号的局部特征&#xff0c;但无法完全捕捉数据重要部分。为了解决这个问题&#xff0c;我们引入注意力机制&#xff0c;利用其强化关注重点的优势&#xff0c;将两者结合&#xff0c;做到更全面、深入地挖掘数据特征&a…

【初阶数据结构】9.二叉树(4)

文章目录 5.二叉树算法题5.1 单值二叉树5.2 相同的树5.3 另一棵树的子树5.4 二叉树遍历5.5 二叉树的构建及遍历 6.二叉树选择题 5.二叉树算法题 5.1 单值二叉树 点击链接做题 代码&#xff1a; /*** Definition for a binary tree node.* struct TreeNode {* int val;* …