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

nginx配置讲解

nginx下载

nginx: downloadhttps://nginx.org/en/download.html

正向,反向代理

正向代理(Forward Proxy)
代表客户端发起请求,被访问服务服务器不知道访问者是谁(只知道nginx)。 定义: 正向代理是一个位于客户端和目标服务器之间的服务器,它代表客户端向目标服务器发起请求。客户端配置使用正向代理,所有请求都通过代理服务器转发。
工作原理:
1. 客户端配置使用正向代理(例如,在浏览器或操作系统中设置代理服务器地址和端口)。
2. 当客户端请求一个资源时,请求首先发送到正向代理服务器。
3. 正向代理服务器代表客户端向目标服务器发送请求。
4. 目标服务器将响应返回给正向代理服务器。
5. 正向代理服务器将响应返回给客户端。
主要特点:
● 客户端知道代理的存在:客户端必须明确配置代理服务器。
● 隐藏客户端身份:目标服务器看到的是代理服务器的IP地址,而不是客户端的真实IP地址。
● 用途:○ 访问控制:组织可以使用正向代理来控制员工对互联网的访问。○ 缓存:代理服务器可以缓存常用资源,提高访问速度。○ 绕过地理限制:用户可以通过位于不同地区的代理服务器访问被限制的内容。可以看到:结果是由Nginx响应给我们的,并不是直接由百度响应的。实际上是由百度响应结果给Nginx,再由Nginx响应给客户端。
响应头是nginx反向代理(Reverse Proxy)
备注:正向代理,代表客户端,所以可以访问百度
反向代理:下面的代码,直接打到百度的后台服务器,可能缺些请求头什么的,所以会被百度拦截到代表服务端,客户访问A服务器,由A服务器转发,客户只知道访问百度,不知道百度会代理到哪个具体服务器定义: 反向代理是一个位于目标服务器之前的服务器,它接收来自客户端的请求,并将这些请求转发到后端服务器。客户端不知道反向代理的存在,它认为自己直接与目标服务器通信。
工作原理:
1. 客户端发送请求到目标服务器的域名或IP地址。
2. 请求首先到达反向代理服务器(通常通过DNS解析或负载均衡器)。
3. 反向代理服务器根据配置将请求转发到一个或多个后端服务器。
4. 后端服务器处理请求并返回响应给反向代理服务器。
5. 反向代理服务器将响应返回给客户端。
主要特点:
● 客户端不知道代理的存在:客户端认为它直接与目标服务器通信。
● 隐藏服务器身份:客户端看不到后端服务器的真实IP地址和架构。
● 用途:○ 负载均衡:将客户端请求分发到多个后端服务器,提高性能和可靠性。○ 安全性:保护后端服务器免受直接攻击。○ SSL终止:在反向代理上处理SSL加密和解密,减轻后端服务器的负担。○ 缓存:缓存静态内容,减少后端服务器的负载。

配置文件讲解

文件地址:D:\xx\xx\nginx-1.16.1\conf\nginx.conf

## 启动 1 个 Nginx 工作进程
worker_processes 1;

events {
    ## 并发连接最大1024个
    worker_connections 1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    ## 访问localhost:80会被代理到index.html
    server {
        ##1:访问localhost:80触发
        listen       80;
        server_name  localhost;
        
        ##2:接着去找要访问的对象
        ## location /:匹配所有以 / 开头的请求(即所有请求)。
        ## root   html; : 指定文件路径,根路径下的gtml文件夹
        ## index  index.html index.htm; :查找index.html index.htm文件并展示。同时存在返回第一个
        location / {   
            root   html;
            index  index.html index.htm;
        }
        ## 服务器错误时返回的页面
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    
     server {
        listen       80;
        server_name  127.0.0.1;

        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    
##------------------------------------------------正向代理-----------------------------------------------------------##
    ## 正向代理。客户端知道目的服务器的地址,但是通过代理的方式访问(好处,隐藏自身)
    ## 简单来说:当我访问localhost:8600,此时,会nginx被代理到百度。客户可以从抓包看到访问路径,及代理人(ngix)
    ## 我->nginx(ngix定义了我访问8600,要被代理到哪里)->百度
    server{
        listen    8600;
        server_name    localhost;
        ##转发路径
        location / {
            proxy_pass http://www.baidu.com;
        }
    }    

    
##------------------------------------------------反向代理-----------------------------------------------------------##

    ## 反向代理. 代理的是服务端,对于客户端是透明的,客户端并不知道代理的存在。
    ## 简单来说:当我访问百度,其实我并不知道访问的是那一台具体的百度服务器,也无法感知到代理
    ## 当客户端访问 localhost:8601 时,请求被 Nginx 代理到百度的多个 IP 地址之一,客户端不知道后端服务器的真实 IP”。
    server {
        listen       8601;
        server_name  localhost;

        ## 代理转发
        location / {
            proxy_pass http://baidu_server;

        }
    }
    
        ## 百度部分主机
    ## upstream块在Nginx配置中用于定义一组服务器
    upstream baidu_server {
        ##负载均衡策略:默认轮询,也可以指定,如轮询、权重、IP 哈希等
    
        ## 湖北襄阳服务器
        server 180.101.49.42 weight=3;
        ## 江苏宿迁服务器
        server 180.101.49.11 weight=2;
        ## 河北秦皇岛服务器
        server 110.242.68.3 weight=1;
    }
    
    ##==================常用命令=========================#
    ## 安装目录,cmd,使用
    ## nginx:启动nginx。
    ## nginx -s reload:重启nginx。
    ## nginx -s stop:停止nginx。
    ## nginx -s quit:安全退出nginx。
}

http://www.dtcms.com/a/366007.html

相关文章:

  • GitLens:VS Code下高效解决代码追溯的Git管理实用插件
  • Spring Boot + Nacos 配置中心示例工程
  • ego(2)---初始轨迹生成后的关键点采样
  • 一文读懂线性回归的灵魂:成本函数 J(w,b) 全解析
  • K8s基于节点软亲和的高 CPU Pod 扩容与优先调度方案
  • 华为OD最新机试真题-二进制差异数-OD统一考试(C卷)
  • 《K8s网络策略与CNI插件交互问题分析:基于真实案例的排查方法》
  • 卷积操作原来分3种
  • (二)文件管理-基础命令-mkdir命令的使用
  • C++CSP-J/S必背模板
  • Estimating the Number of Sources: An Efficient Maximization Approach
  • 上下文记忆力媲美Genie3,且问世更早:港大和可灵提出场景一致的交互式视频世界模型!
  • Guidelines for using Adaptive Platform interfaces
  • redisson功能完整指南
  • 【OpenGL】LearnOpenGL学习笔记19 - 几何着色器 Geometry Shader
  • 【机器学习深度学习】RAG边界处理策略
  • Vision Pro图像处理工具全解析
  • ClickHouse使用Docker部署
  • 刷新记录:TapData Oracle 日志同步性能达 80K TPS,重塑实时同步新标准
  • mysy2使用
  • Windows 开发环境这么难配,为什么还有那么多人在用?
  • Axure文件上传高保真交互原型:实现Web端真实上传体验
  • 机器能否真正语言?人工智能NLP面临的“理解鸿沟与突破
  • 深度学习---pytorch卷积神经网络保存和使用最优模型
  • awk相关知识
  • C++完美转发
  • 【FastDDS】Layer DDS之Domain ( 04-DomainParticipantFactory)
  • 专项智能练习(Photoshop软件基础)
  • 智能高效内存分配器测试报告
  • 【CMake】message函数