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地址,看是否成功

相关推荐
斯普信专业组10 分钟前
K8s环境下基于Nginx WebDAV与TLS/SSL的文件上传下载部署指南
nginx·kubernetes·ssl
JAVA拾贝15 分钟前
Prometheus+Grafana运维监控并实现钉钉告警
运维·钉钉·grafana·prometheus·运维监控
危险、18 分钟前
RabbitMQ 通过HTTP API删除队列命令
分布式·http·rabbitmq
笑衬人心。29 分钟前
项目中数据库表设计规范与实践(含案例)
服务器·数据库·设计规范
超人不会飛30 分钟前
就着HTTP聊聊SSE的前世今生
前端·javascript·http
数通Dinner31 分钟前
异步Websocket构建聊天室
运维·网络·websocket·网络协议·信息与通信
云动雨颤1 小时前
Python 自动化办公神器|一键转换所有文档为 PDF
运维·python
Fanmeang1 小时前
OSPF高级特性之FRR
运维·网络·华为·ip·ospf·spf·frr
小张不嚣张꒰ঌ(˚ᆺ˚)໒꒱1 小时前
Centos7在yum当中遇到Could not resolve host: mirrorlist.centos.org解决方案
linux·运维·服务器·centos
Sally璐璐1 小时前
CentOS企业级文件服务器终极部署指南
linux·服务器·centos