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

正反向代理 Nginx简单使用

代理

正向代理是客户端的代理,服务器不知道真正的客户端是谁;反向代理是服务器的代理,客户端不知道真正的服务器是谁
正向代理一般是客户端架设的;反向代理一般是服务器架设的
正向代理主要是用来解决访问限制问题;反向代理则是提供负载均衡、安全防护等作用。二者都能提高访问速度

正向代理

正向代理需要主动设置代理服务器ip或者域名进行访问,由设置的服务器ip或者域名去访问内容并返回
正向代理是代理客户端,为客户端收发请求,使真实客户端对服务器不可见。
上网者可以通过正向代理的方法隐藏自己的ip,免受攻击
在这里插入图片描述

反向代理

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

对于客户端来说,反向代理就相当于目标服务器,只需要将反向代理当作目标服务器一样发送请求就可以了,并且客户端不需要进行任何设置。
在这里插入图片描述

Nginx

高性能的开源 Web 服务器和反向代理服务器
轻量级、高并发、低内存消耗等特点
被广泛用于搭建静态资源服务器、负载均衡、反向代理等场景

Nginx安装

环境: WSL2 + Ubuntu

  1. 更新软件包列表
sudo apt update

在这里插入图片描述

  1. 安装Nginx
sudo apt install nginx

在这里插入图片描述

  1. 确认启动状态
systemctl status nginx

在这里插入图片描述

  1. 查看Nginx运行进程
 ps -ef |grep nginx

如果有输出,确认主进程(master process)是否存在。
如果没有进程,重新启动 Nginx 服务

sudo systemctl restart nginx

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5. 访问Nginx首页:localhost
在这里插入图片描述

nginx反向代理功能

  1. nginx.conf文件中,location 根路径的配置中增加proxy_pass配置

假设你有一个后端应用程序运行在 http://localhost:8080,并希望通过 Nginx 代理 /api/ 路径下的请求:

server {
    listen 80;
    server_name example.com;

    location /api/ {
        proxy_pass http://localhost:8080;  # 代理到本地的 8080 端口

    }

在这里插入图片描述

  1. 测试配置文件语法
sudo nginx -t

在这里插入图片描述

  1. 没有问题则重启nginx
sudo systemctl reload nginx

nginx负载均衡

  1. upstream 块定义backend名字的服务器组
  2. 后端代理服务器将请求转发到backend服务器组
    在这里插入图片描述

nginx改写请求和响应


http://www.kler.cn/a/448643.html

相关文章:

  • 如何在K8S集群中查看和操作Pod内的文件?
  • Ajax中的axios
  • OpenTK 中帧缓存的深度解析与应用实践
  • 探索 CI/CD 工具的力量
  • leetcode45.跳跃游戏II
  • 内网IP段介绍与汇总
  • 麒麟操作系统服务架构保姆级教程(三)ssh远程连接
  • 【从零开始的LeetCode-算法】3285. 找到稳定山的下标
  • LeetCode:1387. 将整数按权重排序(记忆化搜索 Java)
  • 【漏洞复现】CVE-2023-29944 Expression Injection
  • React:闭包陷阱产生和解决
  • 前端面经每日一题Day18
  • 八字精批API接口PHP实现返回json数据
  • GESP CCF C++一级编程等级考试认证真题 2024年12月
  • 银行转账虚拟生成器app银行转账模拟器银行模拟器 手机银行模拟器
  • 【Redis经典面试题六】Redis的持久化机制是怎样的?
  • Anaconda使用手册
  • yolov5 yolov6 yolov7 yolov8 yolov9目标检测、目标分类 目标切割 性能对比
  • 简单介绍一下Linux的常用命令
  • 【docker】列出与特定镜像名相关的镜像
  • 【漫话机器学习系列】017.大O算法(Big-O Notation)
  • 禅说:zookeeper与聚落。
  • MySQL 基础:开启数据库之旅
  • 速通Python 第三节
  • MySQL使用LOAD DATA INFILE方式导入文本文件
  • 力扣-图论-17【算法学习day.67】