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

基于http协议的nginx代理服务

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

nginx代理缓存配置

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

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

bash 复制代码
vim /etc/nginx/conf.d/default.conf

2. 添加代理配置

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

bash 复制代码
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;
    }
}

以下是配置项的解释:

bash 复制代码
# 将客户端请求转发到指定的后端服务器
# 这里的 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配置文件

bash 复制代码
nginx -t

重启服务

bash 复制代码
systemctl restart nginx

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

相关推荐
中云DDoS CC防护蔡蔡6 分钟前
微信小程序被攻击怎么选择高防产品
服务器·网络安全·微信小程序·小程序·ddos
HPC_fac130520678161 小时前
以科学计算为切入点:剖析英伟达服务器过热难题
服务器·人工智能·深度学习·机器学习·计算机视觉·数据挖掘·gpu算力
yaoxin5211232 小时前
第二十七章 TCP 客户端 服务器通信 - 连接管理
服务器·网络·tcp/ip
内核程序员kevin2 小时前
TCP Listen 队列详解与优化指南
linux·网络·tcp/ip
sinat_384241096 小时前
使用 npm 安装 Electron 作为开发依赖
服务器
朝九晚五ฺ7 小时前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习
自由的dream7 小时前
Linux的桌面
linux
xiaozhiwise7 小时前
Makefile 之 自动化变量
linux
Kkooe8 小时前
GitLab|数据迁移
运维·服务器·git