Nginx 部署多个安全域名,多个服务【工作记录】

以下是本人通过Docker 部署的Nginx挂载出来的文件目录
在这里插入图片描述
先看下 nginx.conf 配置文件内容:如下
ps:当前文件就是安装后的初始内容,无修改。主要关注最后一行 include /etc/nginx/conf.d/*.conf;表示引入其他目录下的.conf配置文件;

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


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

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
}

既然已经定义了可以引入其他路径下的配置文件,那么我们就可以将我们需要部署的多个域名、多个服务的配置分开存放;进入到 conf.d 目录内,如下:
在这里插入图片描述
分别看下并解释下配置文件的内容

base.conf 基础配置

server {
	# 监听80端口
    listen 80;
    #  指令定义了服务器块要处理的2个域名 用空格分开
    server_name xxxxxx.cn xxxx.xxxx.com;
    #  如果访问了server_name 中配置的域名,那么将重定向到 安全域名
    #  例如 在浏览器 输入了 xxxx.cn , 那么浏览器将直接将你的访问地址改为https://xxxx.cn 
    return 301 https://$host$request_uri;
}

stokc.conf 域名一的配置

server {
        # listen       80;
        # server_name  localhost;
        # SSL 默认访问端口号为 443
        listen 443 ssl;
        # 请填写绑定证书的域名
        server_name xxxx.cn;
        # 请填写证书文件的相对路径或绝对路径
        ssl_certificate /etc/nginx/sslSign/xxxx.cn_nginx/xxxx.cn_bundle.crt;
        # 请填写私钥文件的相对路径或绝对路径
        ssl_certificate_key /etc/nginx/sslSign/xxxx.cn_nginx/xxxx.cn.key;
        ssl_session_timeout 5m;
        # 请按照以下协议配置
        ssl_protocols TLSv1.2 TLSv1.3;
        # 请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;
        
        location / {
            root   /home/ruoyi/projects/ruoyi-ui/dist;
            try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }
        location /prod-api/ {
                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_pass http://stockserver/;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

yunlv.conf 域名二的配置

server {
    listen 443 ssl;
    server_name  xxxx.xxxx.cn;
    client_max_body_size 10m;

    # 请填写证书文件的相对路径或绝对路径
    ssl_certificate /etc/nginx/sslSign/yunlvceshi/xxxx.xxxx.cn_bundle.crt;
    # 请填写私钥文件的相对路径或绝对路径
    ssl_certificate_key /etc/nginx/sslSign/yunlvceshi/xxxx.xxxx.cn.key;
    ssl_session_timeout 5m;
    # 请按照以下协议配置
    ssl_protocols TLSv1.2 TLSv1.3;
    # 请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;

    location / {
        root  /home/workData/frontDesk_PC/dist;
	    try_files $uri $uri/ /index.html;
        index  index.html index.htm;
    }
    location /api/ {
        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_pass http://yunlvserver/;
    }

    location /api/wsMsg/anno/OrderMsg/ {
	    proxy_pass http://yunlvserver/;
        proxy_set_header Host $host;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		# 增加 WebSocket 超时设置
		proxy_connect_timeout 12h; # 连接超时时间,设置为1小时
		proxy_read_timeout 12h;    # 读取超时时间,设置为1小时
    }
    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

stream.conf 负载均衡配置

upstream yunlvserver{
	server xxx.xxx.xxx.xx:8090;
	server xxx.xxx.xxx.xx:8091;
}

upstream stockserver{
	server xxx.xxxx.xxx.xx:8081;
	server xxx.xxxx.xxx.xx:8082;
}

配置好后重启nginx即可!
over…

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Arduino环境下驱动合宙esp32c3单片机基本外设】

【esp32c3基本外设驱动】 1. GPIO调试1.1 源码分享2.2 实验效果 2. ADC调试2.1 源码分享2.2 实验效果 3. WS2812驱动3.1 源码分享3.2 实验效果 4. 旋转编码器4.1 源码分享4.2 测试效果 5. SSD1306屏幕驱动5.1 源码分享5.2 测试效果 6. 双cpu同时工作测试6.1 源码分享6.2 测试效…

Arrays,Arrays重载的sort方法

Arrays -1的原因.因为返回正数不就是表示存在只能是负数 Arrays重载的sort方法 //这个方法只能给引用数据类型排序 //如果是基本数据类型需要转化为对应的包装类 public class arrays {public static void main(String[] args) {Integer arr[]{2,1,4,6,3,5,8,7,9};Arrays.s…

学习笔记3——JVM基础知识

学习笔记系列开头惯例发布一些寻亲消息 链接:https://baobeihuijia.com/bbhj/contents/3/196593.html JVM(Write Once,Run Anywhere) 以下是一些学习时有用到的资料,只学习了JVM的基础知识,对JVM整体进…

python爬虫—使用xpath方法进行数据解析

1. 背景信息 爬取安居客二手房源信息 URL地址:https://wuhan.anjuke.com/sale/?fromnavigation 2. 代码实现 import requests from lxml import etreeif __name__ __main__:# 1.指定URLurl "https://wuhan.anjuke.com/sale/?fromnavigation"# 2.U…

Apache Doris (四十八): Doris表结构变更-替换表

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录

在Jetpack Compose中使用Paging 3实现无限滚动

在Jetpack Compose中使用Paging 3实现无限滚动 本文将介绍在Jetpack Compose中进行分页加载。分页加载意味着一次只加载应用程序中的小数据块。 假设您在服务器上有大量数据,并且您希望在UI上显示这些数据。显然,您不希望一次性加载所有数据。您希望每次…

reactor (百万并发服务器) -- 1

为了从点滴开始,文章会先从一些基础socket去补充一些经常发生但是没有很深入去思考的细节。然后我们再开始去设计reactor的设计,可以选择跳过起过前面部分。 为了能从0开始去设计,测试,优化...整个过程会分为2-3篇文章输出&#x…

Redis队列Stream

1 缘起 项目中处理文件的场景: 将文件处理请求放入队列, 一方面,缓解服务器文件处理压力; 另一方面,可以根据文件大小拆分到不同的队列,提高文件处理效率。 这是Java开发组Leader佳汇提出的文件处理方案&a…

网络安全—小白自学

1.网络安全是什么 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 2.网络安全市场 一、是市场需求量高; 二、则是发展相对成熟…

QT实现用本地资源管理器来打开文件夹

QString path"文件夹路径";QDesktopServices::openUrl(QUrl("file:"path, QUrl::TolerantMode)); 在windows中QT编程,使用资源管理器来打开指定本地文件夹的方法: 第一种:使用Qprocess命令(相当于在cmd命令管…

测试C#调用Aplayer播放视频(2:VideoPlayer源码学习)

参考文献1除了介绍Aplayer组件的用法之外,还提供有demo下载以供学习,本文学习并记录其中的使用方式。   VideoPlayer项目使用C#在VS2013开发,其解决方案中包括VideoPlayer和VideoPlayer两个小项目,前者基于.net framework4.0&am…

【数据分析】上市公司半年报数据分析

前言 前文介绍过使用网络技术获取上市公司半年报数据的方法,本文将对获取到的数据进行简要的数据分析。 获取数据的代码介绍在下面的两篇文章中 【java爬虫】使用selenium获取某交易所公司半年报数据-CSDN博客 【java爬虫】公司半年报数据展示-CSDN博客 全量数…

C#开发DLL,CAPL调用(CAPL>> .NET DLL)

文章目录 展示说明新建类库工程C# 代码生成dllCAPL脚本调用dll,输出结果展示 ret为dll里函数返回的值。 说明 新建类库工程 在visual studio中建立。 C# 代码 using

Python构造代理IP池提高访问量

目录 前言 一、代理IP是什么 二、代理IP池是什么 三、如何构建代理 IP 池 1. 从网上获取代理 IP 地址 2. 对 IP 地址进行筛选 3. 使用筛选出来的 IP 地址进行数据的爬取 四、总结 前言 爬虫程序是批量获取互联网上的信息的重要工具,在访问目标网站时需要频…

启动Vue项目报错Error: error:0308010C:digital envelope routines::unsupported

问题描述 启动Vue项目报错Error: error:0308010C:digital envelope routines::unsupported 出现这个一般就是node版本的问题,通过命令查看node -v查看node版本; 百度查了好多,都让我降低node版本,属实太麻烦了 在不改node版本的…

[论文笔记]BGE

引言 今天介绍论文BGE,是智源开源的语义向量模型,BAAI General Embedding。 作者发布了C-Pack,一套显著推进中文嵌入领域的资源包。包括三个重要资源: 1) C-MTEB是一个全面的中文文本嵌入基准,涵盖了6个任务和35个数据集。 2) C-MTP是一个从标记和未标记的中文语料库中选…

均值、方差、标准差

1 中间值和均值 表现"中间值"的统计名词: a.均值:   mean,数列的算术平均值,反应了数列的集中趋势,等于有效数值的合除以有效数值的个数.b.中位值:  median,等于排序后中间位置的值&#x…

c++11新特性

文章目录 1. C11简介2. 统一的列表初始化2.1 {}初始化2.2 std::initializer_list 3. 声明3.1 auto3.2 decltype3.3 nullptr 4 范围for循环5. STL中一些变化 1. C11简介 2003年,C标准委员会提交了技术勘误表(TC1)&…

Python的错误和异常处理

一、错误和异常 编程中出现的错误大致可以分为两类:错误和异常。 (一)错误 错误又可以分为两类:语法错误和逻辑错误。 1. 语法错误 语法错误又称解析错误,它是指在编写程序时,程序的语法不符合Python语言的规范,导致…

BI零售数据分析,告别拖延症,及时掌握一线信息

在日常的零售数据分析中,经常会因为数据量太大,分析指标太多且计算组合多变而导致数据分析报表难产,零售运营决策被迫拖延症。随着BI数据可视化分析技术的发展,智能化、可视化、自助分析的BI数据分析逐渐成熟,形成一套…