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

服务器部署‌Traefik 实现子级域名路由服务(对外子域名80,路由对内大端口)

文章目录

  • 1.‌Traefik安装
  • 2.启动nginx配置路由

本文档只是为了留档方便以后工作运维,或者给同事分享文档内容比较简陋命令也不是特别全,不适合小白观看,如有不懂可以私信,上班期间都是在得

前言,领导让我调研在线发布得技术选型
白话文就是,子级域名 a.xx.com,b.xx.com 访问可以对应到服务器得某个服务例如20001,20002端口得服务
第一时间我想到得是nginx进行调用转发,但是就会出现一个问题没办法动态更新转发配置,重启再快也需要时间。
后面经过某群友推荐得‌Traefik实现了目的

1.‌Traefik安装

使用docker-compse进行安装
创建一个treafik.yml

version: '3.7'services:traefik:image: traefik:v2.10container_name: traefik   command:- "--entrypoints.http.address=:80"- "--entrypoints.https.address=:443"- "--api=true"- "--api.insecure=true"- "--api.dashboard=true"- "--api.debug=false"- "--ping=true"- "--providers.docker=true"- "--providers.docker.watch=true"- "--providers.docker.exposedbydefault=false"- "--providers.docker.endpoint=unix:///var/run/docker.sock"- "--providers.docker.swarmMode=false"- "--providers.docker.useBindPortIP=false"- "--providers.docker.network=traefik"- "--providers.file=true"- "--providers.file.watch=true"- "--providers.file.directory=/etc/traefik/config"- "--providers.file.debugloggeneratedtemplate=true"ports:- "80:80"                                  # HTTP- "443:443"                                # HTTPS- "9999:8080"                             # Web UI 端口(通过 --api.insecure=true 启用)volumes:- "/var/run/docker.sock:/var/run/docker.sock"  # 允许 Traefik 访问 Docker API- "/home/docker/traefik/config:/etc/traefik/config"       # 这样 Traefik 可以监听 Docker 事件networks:- traefik  # 加入 traefik 网络
networks:traefik:driver: bridge  # 使用桥接网络
#启动traefik
docker-compose -f traefik.yml  up -d

启动traefik

2.启动nginx配置路由

nginx配置

user  nginx;
worker_processes  auto;pid        /var/run/nginx.pid;events {worker_connections  1024;
}http {client_max_body_size 10000M;  # 设置文件上传大小限制为20MBinclude       /etc/nginx/mime.types;default_type  application/octet-stream;underscores_in_headers on;log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';sendfile        on;keepalive_timeout  65;
server {listen       20002;server_name www.b.xx.com;if ($request_method !~ ^(GET|POST|DELETE|PUT)$) {return 403;}charset utf-8;location / {root  /usr/share/nginx/html/dist;index index.html index.htm;try_files $uri $uri/ /index.html;client_max_body_size 5000m;client_body_buffer_size 500m; }}}

还是使用docker-compse进行安装
创建一个nginx.yml

version: '3.8'   services:nginx2:image: nginx:latest  # 使用最新的 Nginx 镜像container_name: nginx_2  # 容器名称ports:- "20002:20002" labels:- "traefik.enable=true"  # 启用 Traefik 处理该服务- "traefik.http.routers.nginx2.rule=Host(`www.b.xx.com`)"  # 路由规则- "traefik.http.routers.nginx2.entrypoints=http"  # 指定入口点- "traefik.http.services.nginx2.loadbalancer.server.port=20002"  # 指定 Nginx 服务端口volumes:- /home/nginx/02/html:/usr/share/nginx/html  # 映射前端文件- /home/nginx/02/conf/nginx.conf:/etc/nginx/nginx.conf  # 映射 Nginx 配置文件- /home/nginx/02/logs:/var/log/nginx  # 映射日志目录restart: always  # 容器崩溃后自动重启networks:- traefik  # 加入 traefik 网络networks:traefik:external: false  # 不使用外部网络,而是使用本地定义的网络
#启动nginx
docker-compose -f nginx.yml  up -d

启动nginx

我们看一下效果
效果对比图

二级域名访问正常,但是一级域名访问404
我们这里在多启动一个试试
启动命令

多个效果对比图

完美实现多级域名访问路由服务器nginx

如果点赞多,评论多会更新详细教程,待补充。

相关文章:

服务器部署‌Traefik 实现子级域名路由服务(对外子域名80,路由对内大端口)

文章目录 1.‌Traefik安装2.启动nginx配置路由 本文档只是为了留档方便以后工作运维,或者给同事分享文档内容比较简陋命令也不是特别全,不适合小白观看,如有不懂可以私信,上班期间都是在得 前言,领导让我调研在线发布得…...

@RequestParam @PathVirable @RequestBody @ApiParam的区别

RequestParam 最常用用value指定参数名字,required字段指定参数是否必须,默认为true,当requiredfalse时,一般配合着defaultValue"xx"使用对应的url是这样的: https://localhost/requestParam/test?key1va…...

Vulnhub靶场案例渗透[5]- DC4

文章目录 1. 靶场搭建2. 信息收集2.1 确定靶机ip2.2 主机信息收集2.3 主机目录探测 3. 渗透过程3.1 sql注入检测3.2 burp爆破3.3 反弹shell3.4 提权 4. 总结 1. 靶场搭建 靶场源地址 检验下载文件的检验码,对比没问题使用vmware打开 # windwos 命令 Get-FileHash …...

http协议概述与状态码

目录 1.HTTP概述 1.1请求报文起始行与开头 ​1.2响应报文起始行 ​ 1.3响应报文开头 ​ 2.http状态协议码 1.HTTP概述 默认端口 80 HTTP超文本传输与协议: 数据请求和响应 传输:将网站的数据传递给用户 超文本:图片 视频等 请求request:打开网站 访问网站 响应r…...

Golang 进阶5—— 反射

Golang 进阶5—— 反射 注意,该文档只适合有编程基础的同学,这里的go教程只给出有区别的知识点 反射: 反射可以在运行时动态获取变量的各种信息, 比如变量的类型、 类别等信息。如果是结构体变量,还可以获取结构体本…...

react 封装防抖

封装防抖 import React, { useRef, useEffect, useCallback } from react;function useDebounce(fn, delay) {const delayRef useRef(delay);const fnRef useRef(fn);// 更新ref值useEffect(() > {delayRef.current delay;}, [delay]);useEffect(() > {fnRef.current…...

Java项目-----图形验证码登陆实现

原理: 验证码在前端显示,但是是在后端生成, 将生成的验证码存入redis,待登录时,前端提交验证码,与后端生成的验证码比较. 详细解释: 图形验证码的原理(如下图代码).前端发起获取验证码的请求后, 1 后端接收请求,生成一个键key(随机的键) 然后生成一个验证码作为map的valu…...

【网络代理模块】反向代理(上)

1 概念 1.1 反向代理概念 反向代理是指以代理服务器来接收客户端的请求,然后将请求转发给内部网络上的服务器,将从服务器上得到的结果返回给客户端,此时代理服务器对外表现为一个反向代理服务器。 对于客户端来说,反向代理就相当…...

2-112基于matlab的协同干扰功率分配模型

基于matlab的协同干扰功率分配模型,带操作界面的功率分配GUI,可以实现对已有功率的分配优化,可以手动输入参数值。4个干扰山区分二批总干扰功率,每个扇区包括威胁总系数、综合压制概率、目标函数增量等。程序已调通,可…...

数据结构之——二叉树

一、二叉树的基本概念 二叉树是数据结构中的重要概念,每个节点最多有两个子树,分别为左子树和右子树。这种结构具有明确的层次性和特定的性质。 二叉树有五种基本形态: 空二叉树:没有任何节点。只有一个根结点的二叉树&#xff…...

多层感知机(MLP)实现考勤预测二分类任务(sklearn)

1、基础应用: https://blog.csdn.net/qq_36158230/article/details/118670801 多层感知机(MLP)实现考勤预测二分类任务(sklearn) 2、分类器参数:https://scikit-learn.org/dev/modules/generated/sklearn.neural_network.MLPClassifier.html 3、损失函数…...

文件与目录的基本操作

前提:使用su root 切换到权限最大的root用户 1.显示当前工作目录的绝对路径(pwd) 用途:用于显示当前工作目录的绝对路径的命令。无论用户在文件系统的哪个位置,pwd 命令都能提供当前所在位置的完整路径信息。 用法&a…...

Python入门笔记(三)

文章目录 第八章 字典dict8.1 创建字典:{}、dict()、字典生成式、zip()8.2 获取键对应的值:get()8.3 in, not in判断键是否在字典中8.4 增加键值对:fromkeys()、setdefault()、update()8.5 删除键值对:del语句、clear(…...

PostgreSQL 任意命令执行漏洞(CVE-2019-9193)

记一次授权攻击通过PostgreSql弱口令拿到服务器权限的事件。 使用靶机复现攻击过程。 过程 在信息收集过程中,获取到在公网服务器上开启了5432端口,尝试进行暴破,获取到数据库名为默认postgres,密码为1 随后连接进PostgreSql …...

使用tgz包下载安装clickhouse低版本

1.下载安装包 官方下载地址:https://packages.clickhouse.com/tgz/stable 阿里云下载地址:clickhouse-tgz-stable安装包下载_开源镜像站-阿里云 共需要下载四个文件 clickhouse-common-static-20.3.10.75.tgz clickhouse-common-static-dbg-20.3.10.7…...

外包功能测试干了6个月,技术退步太明显了。。。。。

先说一下自己的情况,本科生,23年通过校招进入武汉某软件公司,干了差不多6个月的功能测试,今年中秋,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我就在一个外包企业干了6个月的功…...

动态规划和贪心算法

目录 动态规划和贪心算法 动态规划 贪心算法 两者之间的区别 动态规划和贪心算法 是两种经典的算法设计策略,它们各自具有独特的特点和适用场景。 动态规划 动态规划是一种将复杂问题分解为更简单子问题的求解方法。它特别适用于那些具有重叠子问题和最优子结构特性的问…...

python爬虫--tx动漫完整信息抓取

python爬虫--tx动漫完整信息抓取 一、采集主页信息二、采集详情页信息三、完整代码一、采集主页信息 先看一下采集到的信息,结果保存为csv文件: 打开开发者工具,找到数据接口。 使用xpath提取详情页url。 二、采集详情页信息 如上图所示,使用xpath提取详情页的标题、作…...

《使用Java做爬虫和使用python做爬虫哪个好》

使用Java做爬虫和使用python做爬虫哪个好 Java 和 Python 都是非常出色的编程语言,在爬虫领域各有其优势,具体使用哪种语言更好取决于多种因素: 一、开发效率 1. Python Python 以其简洁、易读的语法而闻名。在爬虫开发中,有许…...

如果我想开发一个APP,需要准备哪些材料呢

开发一个APP需要准备的材料相对复杂,涵盖了公司资质、技术资源、支付接口以及第三方服务等多个方面。以下是一份详细的材料清单: 一、公司资质证明 营业执照:需要提供公司的营业执照副本,用于申请企业支付、域名备案、APP上架及…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...

stm32G473的flash模式是单bank还是双bank?

今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...

Java多线程实现之Thread类深度解析

Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)

船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战

说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下,风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲

文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...

Java数值运算常见陷阱与规避方法

整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...

接口自动化测试:HttpRunner基础

相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型…...