config配置含义
约 983 字大约 3 分钟
2024-11-20
用于http和server配置块中的location 部分
1. proxy_pass
含义: 指定代理请求的上游服务器的地址。可以是 HTTP、HTTPS、或 TCP 服务器地址。
示例: proxy_pass http://backend_server;
2. proxy_set_header
含义: 设置转发到上游服务器的请求头部。可以用来修改、添加或删除请求头部。
示例: nginx proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
3. proxy_ignore_headers
含义: 指定在上游服务器的响应中忽略哪些响应头部。用于控制 Nginx 是否处理这些头部。
示例: proxy_ignore_headers X-Accel-Expires Expires Cache-Control;
4. proxy_hide_header
含义: 从返回给客户端的响应中隐藏指定的响应头部。
示例: proxy_hide_header X-Powered-By;
5. proxy_set_header
含义: 指定用于与上游服务器进行连接的请求头部。
示例: nginx proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
6. proxy_read_timeout
含义: 设置从上游服务器读取响应的超时时间。超时后,Nginx 会关闭连接。
示例: proxy_read_timeout 90s;
7. proxy_connect_timeout
含义: 设置与上游服务器建立连接的超时时间。
示例: proxy_connect_timeout 30s;
8. proxy_send_timeout
含义: 设置向上游服务器发送请求的超时时间。
示例: proxy_send_timeout 30s;
9. proxy_buffer_size
含义: 设置用于保存上游服务器响应头部的缓冲区大小。
示例: proxy_buffer_size 4k;
10. proxy_buffers
含义: 设置用于保存上游服务器响应的缓冲区数量和每个缓冲区的大小。
示例: proxy_buffers 8 16k;
11. proxy_busy_buffers_size
含义: 设置允许在请求处理中使用的“忙碌”缓冲区的最大大小。这有助于在高负载情况下减少内存使用。
示例: proxy_busy_buffers_size 64k;
12. proxy_temp_file_write_size
含义: 设置在将响应写入临时文件时的最大块大小。
示例: proxy_temp_file_write_size 64k;
13. proxy_max_temp_file_size
含义: 设置用于保存临时文件的最大大小。如果响应超过此大小,将被写入到磁盘。
示例: proxy_max_temp_file_size 1024m;
14. proxy_cache
含义: 启用或禁用缓存功能。指定缓存区域名称。
示例: proxy_cache my_cache_zone;
15. proxy_cache_path
含义: 定义缓存区域的存储路径和缓存参数。
示例: nginx proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=my_cache_zone:10m max_size=1g;
16. proxy_cache_valid
含义: 定义缓存的有效时间。可以根据不同的 HTTP 状态码设置不同的有效时间。
示例: nginx proxy_cache_valid 200 302 10m; proxy_cache_valid 404 1m;
17. proxy_cache_bypass
含义: 指定在某些条件下绕过缓存。可以使用变量来控制。
示例: proxy_cache_bypass $http_cache_control;
18. proxy_cache_key
含义: 定义缓存的键。用于唯一标识缓存条目。
示例: proxy_cache_key "$scheme$request_method$host$request_uri";
19. proxy_redirect
含义: 修改从上游服务器返回的 Location 和 Refresh 头部。
示例: proxy_redirect http://backend_server/ /;
20. proxy_pass_request_headers
含义: 控制是否将客户端请求中的所有头部转发给上游服务器。
示例: proxy_pass_request_headers on;
21. proxy_pass_request_body
含义: 控制是否将客户端请求体转发给上游服务器。
示例: proxy_pass_request_body on;
proxy_set_header的设置
proxy_set_header 指令在 Nginx 作为反向代理服务器时,用于设置或修改传递给后端服务器的 HTTP 头部。其作用是确保后端服务器能够接收到正确的请求信息
proxy_set_header Host $host;
作用: 将原始请求中的 Host 头部传递给后端服务器,保持客户端请求的主机名。
示例: proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
作用: 将客户端的真实 IP 地址传递给后端服务器,后端服务器可以获取到客户端的实际 IP 地址。
示例: proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
作用: 添加或更新 X-Forwarded-For 头部,通常包含客户端的 IP 地址及通过的代理服务器 IP 地址链。
示例: proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
作用: 将请求的协议(HTTP 或 HTTPS)传递给后端服务器,后端可以知道请求是通过哪个协议发起的。
示例: proxy_set_header X-Forwarded-Proto $scheme;