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

nginx代理服务配置,基于http协议-Linux(CentOS)

基于http协议的nginx代理服务

  • 1. 打开 Nginx 虚拟机80端口配置文件
  • 2. 添加代理配置
  • 3. 重启nginx服务

nginx代理缓存配置

1. 打开 Nginx 虚拟机80端口配置文件

Nginx 的默认80端口虚拟机配置文件通常位于/etc/nginx/conf.d/default.conf

vim /etc/nginx/conf.d/default.conf

2. 添加代理配置

在配置文件中的 server 块设置代理服务。以下是配置示例:

server {listen       80;server_name  your_domain_or_ip;location / {proxy_pass http://backend.example.com;proxy_redirect default;proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_connect_timeout 30;proxy_send_timeout 60;proxy_read_timeout 60;proxy_buffering on;proxy_buffer_size 32k;proxy_buffers 4 128k;proxy_busy_buffers_size 256k;proxy_max_temp_file_size 256k;}
}

以下是配置项的解释:

# 将客户端请求转发到指定的后端服务器
# 这里的 http://backend.example.com 是目标后端服务器的地址
proxy_pass http://backend.example.com;# 设置代理服务器的重定向规则
# 'default' 表示使用 Nginx 默认的重定向处理方式
# 通常不需要修改,除非有特殊需求
proxy_redirect default;# 设置请求头中的 Host 字段
# $http_host 是客户端请求中包含的主机名,例如 www.example.com
# 这样后端服务器可以知道客户端请求的原始主机名
proxy_set_header Host $http_host;# 设置请求头中的 X-Real-IP 字段
# $remote_addr 是客户端的真实 IP 地址
# 这个设置确保后端服务器能够看到客户端的真实 IP,而不是代理服务器的 IP
proxy_set_header X-Real-IP $remote_addr;# 设置请求头中的 X-Forwarded-For 字段
# $proxy_add_x_forwarded_for 将客户端的 IP 地址添加到 X-Forwarded-For 头部中
# X-Forwarded-For 头部记录了客户端的原始 IP 地址以及经过的代理服务器的 IP 地址
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# 设置连接超时时间
# 这是 Nginx 与后端服务器建立连接的最大时间
# 如果在指定时间内无法建立连接,Nginx 会终止连接
proxy_connect_timeout 30;# 设置发送超时时间
# 这是 Nginx 向后端服务器发送请求时的最大时间
# 如果在指定时间内没有完成发送,Nginx 会终止请求
proxy_send_timeout 60;# 设置读取超时时间
# 这是 Nginx 从后端服务器读取响应数据的最大时间
# 如果在指定时间内没有接收到响应数据,Nginx 会终止读取
proxy_read_timeout 60;# 启用代理缓存
# 启用后,Nginx 会将后端服务器的响应缓存在内存中
# 这有助于提高性能,特别是在处理大量请求时
proxy_buffering on;# 设置单个代理缓冲区的大小
# 'proxy_buffer_size' 决定了用于缓存响应头的内存大小
# 增加此值可以处理较大的响应头
proxy_buffer_size 32k;# 设置代理缓冲区的数量和大小
# 'proxy_buffers' 指定了缓冲区的数量和每个缓冲区的大小
# 这里使用 4 个缓冲区,每个 128k,用于缓存从后端服务器获取的数据
proxy_buffers 4 128k;# 设置忙碌缓冲区的大小
# 'proxy_busy_buffers_size' 是用于处理繁忙状态下的缓冲区的总大小
# 增大这个值可以帮助处理高负载时的数据缓存
proxy_busy_buffers_size 256k;# 设置临时文件的最大大小
# 'proxy_max_temp_file_size' 定义了代理缓存临时文件的最大允许大小
# 如果响应数据超过这个大小,Nginx 会将其存储在临时文件中
# 设置一个合理的值以避免磁盘空间占用过多
proxy_max_temp_file_size 256k;

3. 重启nginx服务

检测nginx配置文件

nginx -t

重启服务

systemctl restart nginx

访问代理服务器IP地址,看是否成功

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • JavaEE - Spring Boot 简介
  • MATLAB-bode图编程
  • 本地连接远程阿里云K8S
  • OpenCV车牌识别技术详解
  • 【数据结构之C语言实现动态顺序表】
  • “/usr/local/nginx/logs/nginx.pid“ failed (2: No such file or directory)问题
  • k8s中的重启策略
  • 视觉SLAM第二讲
  • 【03】Java虚拟机是如何加载Java类的
  • AttributeError: module ‘selenium.webdriver‘ has no attribute ‘PhantomJS‘
  • QT 关于QTableWidget的常规使用
  • Postman测试工具详细解读
  • 如何将整个运行环境打包成docker
  • 每日一知识点 - Java Lambda 表达式
  • C++——类和对象(中)
  • 【刷算法】求1+2+3+...+n
  • Akka系列(七):Actor持久化之Akka persistence
  • CentOS7简单部署NFS
  • gf框架之分页模块(五) - 自定义分页
  • Java Agent 学习笔记
  • Javascript 原型链
  • Java深入 - 深入理解Java集合
  • Linux后台研发超实用命令总结
  • mysql innodb 索引使用指南
  • mysql外键的使用
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • SAP云平台里Global Account和Sub Account的关系
  • Spring Cloud中负载均衡器概览
  • vue中实现单选
  • webpack+react项目初体验——记录我的webpack环境配置
  • 警报:线上事故之CountDownLatch的威力
  • 区块链技术特点之去中心化特性
  • 区块链将重新定义世界
  • 如何学习JavaEE,项目又该如何做?
  • 如何优雅地使用 Sublime Text
  • 世界上最简单的无等待算法(getAndIncrement)
  • 我建了一个叫Hello World的项目
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • 你对linux中grep命令知道多少?
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • 如何用纯 CSS 创作一个货车 loader
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ​补​充​经​纬​恒​润​一​面​
  • #、%和$符号在OGNL表达式中经常出现
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • $(this) 和 this 关键字在 jQuery 中有何不同?
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (python)数据结构---字典
  • (补)B+树一些思想
  • (二)windows配置JDK环境
  • (分布式缓存)Redis分片集群
  • (附源码)php投票系统 毕业设计 121500
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (算法)Game