nginx反向代理,负载均衡,HTTP配置简述(说人话)

news2024/11/25 14:43:39

文章目录

    • 反向代理
      • 正向代理
      • 反向代理
        • 普通反向代理
          • 分析解释
        • 四层反向代理
    • 负载均衡
    • HTTPS配置
        • 基本配置
        • Nginx 账户认证功能

反向代理

正向代理

所谓的正向代理,通俗来说就是,正向代理是一个位于客户端和目标服务器之间的服务器,它代表客户端向目标服务器发起请求。但是我们客户机学院手动配置代理服务器、
在这里插入图片描述

反向代理

普通反向代理

反向代理就是,客户机不需要做任何的配置,我们只需将服务请求发给代理服务器,代理服务器它自己 根据策略选择服务器给予相应,对于客户端来说可以说是相当奈斯。

在这里插入图片描述
使用 Nginx 实现反向代理的方法是在 Nginx 配置文件中设置 location 块,并使用 proxy_pass 指令指定后端服务器的地址。例如:

location / {
    proxy_pass http://backend;
}
分析解释

backed不一定非要是IP地址,也可以是一个解析组,看下面负载均衡就知道了。
proxy_pass http://backend;其实这里也可以不加http://这个部分,但是如果不加是Nginx会使用与客户端请求相同的协议。这个好处就在于可以灵活的匹配,但是缺点就是安全性可能有些问题。

四层反向代理

负载均衡

Nginx 的负载均衡功能是指在多个后端服务器之间分配客户端请求,以提高系统的可用性和性能。
在 Nginx 配置文件中,可以使用 upstream 指令定义一个后端服务器组,并在 location 块中使用 proxy_pass 指令将请求转发到该服务器组
例如:

[root@centos8 ~]# cat /apps/nginx/conf/conf.d/pc.conf
 upstream webserver {
#ip_hash;
 #hash $request_uri consistent;
 #hash $cookie_lee
 #least_conn;
 server 172.25.254.20:8080 weight=1 fail_timeout=15s max_fails=3;
 server 172.25.254.30:80 weight=1 fail_timeout=15s max_fails=3;
 server 172.25.254.10:80 backup;
 }
 server {
 listen 80;
 server_name www.timinglee.org;
 location ~ / {
 proxy_pass http://webserver;
 }

这段nginx配置定义了一个名为webserver的上游服务器组,其中包含三个服务器:

172.25.254.20:8080,权重为1,失败超时时间为15秒,最大失败次数为3次。
172.25.254.30:80,权重为1,失败超时时间为15秒,最大失败次数为3次。
172.25.254.10:80,作为备份服务器。
接下来定义了一个名为www.timinglee.org的服务器,监听80端口。当访问该域名时,请求会被代理到webserver上游服务器组中的服务器。

HTTPS配置

基本配置

在 Nginx 中配置 HTTPS,需要先生成 SSL 证书和私钥,然后将它们放在 Nginx 配置文件指定的目录中。接下来,在 Nginx 配置文件中添加一个新的 server 块,监听 443 端口,并使用 ssl_certificatessl_certificate_key 指令指定证书和私钥的路径。例如:

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate /path/to/ssl_certificate.crt;
    ssl_certificate_key /path/to/ssl_private_key.key;

    location / {
        # 其他配置...
    }
}
Nginx 账户认证功能

此功能由 ngx_http_auth_basic_module 模块提供此功能
示例:

[root@Nginx ~]# htpasswd  -cmb /usr/local/nginx/conf/.htpasswd admin lee   #-b 表
示非交互建立用户认证
Adding password for user admin
 [root@Nginx ~]# htpasswd  -mb /usr/local/nginx/conf/.htpasswd lee lee
 Adding password for user lee
 [root@Nginx ~]# cat /usr/local/nginx/conf/.htpasswd
 admin:$apr1$haGCKgCT$myogggALmqNecTyNupsWQ/
 lee:$apr1$H97AyQPF$kGU.Tc4zn1E4Zkp/M4R6G.
 }
 [root@Nginx ~]# mkdir  /webdata/nginx/timinglee.org/lee/login
 [root@Nginx ~]# echo login > /webdata/nginx/timinglee.org/lee/login/index.html
 [root@Nginx ~]# vim /usr/local/nginx/conf.d/vhosts.conf
 server {
 listen 80;
 server_name lee.timinglee.org;
 location /login {
 root /webdata/nginx/timinglee.org/lee;
 index index.html;
 auth_basic  "login password";
 auth_basic_user_file "/usr/local/nginx/conf/.htpasswd";
 }
 #重启Nginx并访问测试
[root@node100 ~]# curl  lee.timinglee.org/login/ -u lee:lee
 login
 [root@node100 ~]# curl  lee.timinglee.org/login/ -u admin:lee
 login

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python 工具库每日推荐 【NumPy】

文章目录 引言Python科学计算库的重要性今日推荐:NumPy工具库主要功能:使用场景:安装与配置快速上手示例代码代码解释实际应用案例案例:图像处理案例分析高级特性广播机制高级索引通用函数(ufunc)性能优化技巧扩展阅读与资源优缺点分析优点:缺点:总结【 已更新完 TypeS…

哪个牌子充电宝好用性价比又高?推荐5款2024年性价比充电宝!

在充电宝的世界里,技术的进步日新月异,它们早已超越了简单的便携充电功能,成为了我们日常生活中不可或缺的移动电源。然而,随着市场的繁荣,选择一款可靠、安全的充电宝变得愈发困难。许多品牌为了降低成本,…

【EXCEL数据处理】000017 案例 Match和Index函数。

前言:哈喽,大家好,今天给大家分享一篇文章!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 【EXCEL数据处理】000016 案例 Match和Index函数。使用的软件&#xff…

静态路由故障排查

1、开始 静态路由是否能够加入到全局路由表中并成功指导报文正确转发, 取决于其出接口状态与下一跳可达性,以及相关检测联动的状态等方面。因此静态路由定位故障的思路是: 首先查看全局路由表中是否有该静态路由;然后据此相应地检查出接口状态、下一跳可…

融媒体服务中PBO进行多重采样抗锯齿(MSAA)

如果不理解pbo 那先去了解概念,在此不再解释,这是我为了做融合服务器viewpointserver做的一部分工作,融合服务器的功能是将三维和流媒体,AI融合在一起,viewpointserver会直接读取三维工程的文件,同时融合rt…

MySQL基础之约束

MySQL基础之约束 概述 概念:约束是作用在字段的规则,限制表中数据 演示 # 多个约束之间不需要加逗号 # auto_increment 自增 create table user(id int primary key auto_increment comment 主键,name varchar(10) not null unique comment 姓名,age i…

表达式求值(可以计算两位数以上)

此程序可计算两位数以上的表达式 import java.util.Stack;public class ExpressionEvaluator {public int evaluate(String s) {Stack<Integer> numbers new Stack<>();Stack<Character> operators new Stack<>();int i 0;char c s.charAt(i);whil…

stm32定时器中断和外部中断

一&#xff0c;中断系统的介绍 中断&#xff1a;在主程序运行过程中&#xff0c;出现了特定的中断触发条件&#xff08;中断源&#xff09;&#xff0c;使得CPU暂停当前正在运行的程序&#xff0c;转而去处理中断程序&#xff0c;处理完成后又返回原来被暂停的位置继续运行 中…

平衡二叉树——AVl树

AVL树 AVl树的概念AVL树的实现AVL树的结构AVl树的插入AVL树的旋转左单旋右单旋左右双旋右左双旋 AVl树以高度递归实现完整代码 AVl树的概念 AVL树是一种自平衡的二叉搜索树&#xff08;Binary Search Tree, BST&#xff09;&#xff0c;由两位苏联数学家 Georgy Adelson-Velsk…

jQuery——事件处理

1、事件绑定&#xff08;2种&#xff09; ① eventName&#xff08;function&#xff08;&#xff09;{ }&#xff09; 绑定对应事件名的监听&#xff0c;例如&#xff1a;$&#xff08;‘#div’&#xff09;. click&#xff08;function&#xff08;&#xff09;{ }&#xf…

【复习】CSS中的选择器

文章目录 东西有点多 以实战为主选择器盒子模型 东西有点多 以实战为主 选择器 CSS选择器&#xff08;CSS Selectors&#xff09;是用于在HTML或XML文档中查找和选择元素&#xff0c;以便应用CSS样式的一种方式。 元素选择器&#xff08;Type Selector&#xff09; 选择所有…

在谷歌colab运行YOLO系列(重要比在云服务器搭建运行快)

在谷歌colab运行YOLO系列&#xff08;重要比在云服务器搭建运行快&#xff09; 一、谷歌云硬盘二、克隆 YOLOV5进行运行测试1&#xff0c;修改prepare文件中的参数2&#xff0c;修改voc.yaml3&#xff0c;修改yolov5s.yaml4&#xff0c;防止colab自动断开的方式&#xff08;必须…

今日指数项目个股描述功能实现

个股描述功能实现 1 个股描述功能实现说明 1&#xff09;原型示意 2&#xff09;接口说明 功能描述&#xff1a;个股主营业务查询接口 服务路径&#xff1a;/api/quot/stock/describe 服务方法&#xff1a;GET 请求参数&#xff1a;code #股票编码 响应参数&#xff1a; {…

Koa2项目实战3 (koa-body,用于处理 HTTP 请求中的请求体)

以用户注册接口为例&#xff0c;需要在请求里携带2个参数&#xff1a;用户名&#xff08;user_name&#xff09;和密码&#xff08;password&#xff09;。 开发者需要在接口端&#xff0c;解析出user_name 、password。 在使用Koa开发的接口中&#xff0c;如何解析出请求携带…

八、Drf解析器

八、解析器 8.1概念 解析用户请求发送过来的数据&#xff08;常用的是JSON&#xff09; 请求类型&#xff1a; get: ​ 方式1&#xff1a; http://127.0.0.1/web/?arg1v1&arg2v2 ​ 方式2&#xff1a;通过请求头发送 post: ​ 请求头&#xff1a; ​ content-typ…

数据库管理-第247期 23ai:全球分布式数据库-Schema对象(20241004)

数据库管理247期 2024-10-04 数据库管理-第247期 23ai&#xff1a;全球分布式数据库-Schema对象&#xff08;20241004&#xff09;1 分区、表空间和Chunk&#xff08;块&#xff09;2 表空间组3 分片表4 分片表族5 复制表6 在所有分片上创建的非表对象总结 数据库管理-第247期 …

C++——模板进阶、继承

文章目录 一、模板1. 非类型模板参数2. 模板的特化函数模板特化类模板特化1. 全特化2. 偏特化部分特化参数更进一步的限制 二、继承1. 概念2. 定义定义格式 3. 继承基类成员访问⽅式的变化4. 继承类模板5.基类和派⽣类间的转换6. 继承中的作⽤域隐藏规则&#xff1a; 7. 派⽣类…

LinuxO(1)调度算法

概念 在Linux中&#xff0c;O(1)调度算法是一种进程调度算法。O(1)表示算法的时间复杂度是常数级别的&#xff0c;与系统中的进程数量无关。 运行队列结构 他采用了两个运行队列&#xff0c;一个活动队列和一个过期队列。活动队列中的进程是有资格获取CPU时间片的进程&#x…

阳台山足球营地的停车位探寻

阳台山足球营地的环境是真好哈。停车场名称&#xff1a;阳台山森林公园配套停车场。应该很多爬山的人车子也停在这里。而且我没想到的&#xff0c;阳台山的山泉水还有不少居民每天提着空桶去山上装。看来环境是真的很好哈 停车场有地面和地下停车场&#xff0c;停车位个数查不…