手动阀

Good Luck To You!

nginx proxy

Nginx Proxy(反向代理)是一个强大的功能,它允许将客户端请求转发到后端服务器,同时隐藏原始服务器的细节,以下是关于 Nginx Proxy 的一些关键信息和配置示例:

一、核心参数配置

worker_processes:设置 Nginx 的工作进程数量,通常与 CPU 核心数相同或为其倍数。

worker_cpu_affinity:将进程与 CPU 绑定,提高 CPU Cache 的命中率,减少内存访问损耗。

sendfile:启用 sendfile 以加速文件读取。

tcp_nopush:在 Linux socket 上启用 TCP_CORK 选项,与 sendfile 合用,加速大文件读取。

client_header_timeout:设置客户端传输 header 的超时时间。

client_body_timeout:设置 Nginx 两次连续读取客户端请求体的超时时间。

keepalive_timeout:定义保活时间。

proxy_connect_timeout:设置 Nginx 连接后端服务器发送请求的超时时间。

proxy_read_timeout:设置 Nginx 两次连续读取后端服务器返回的超时时间。

二、反向代理配置

location /api:匹配以/api 开头的请求。

proxy_pass http://127.0.0.1:90:将请求转发到后端服务器地址。

proxy_buffering on:开启代理缓冲区。

proxy_buffer_size 32k:设置缓冲区大小为 32k。

proxy_buffers 4 128k:设置从 server 端读取响应所使用的缓冲区个数和大小。

proxy_busy_buffers_size 256k:在指定大小的缓冲区进入 busy 状态后将无法再写入,而剩余的缓冲区可以同时继续从 server 端读取响应,或者将响应写入磁盘临时文件。

proxy_max_temp_file_size 256k:设置磁盘临时文件的最大 size。

proxy_temp_file_write_size 256k:设置每次写入磁盘临时文件的大小。

三、header 头信息设置

proxy_set_header Host $host:设置后端服务器接收到的 Host 头为原始请求的 Host。

proxy_set_header XRealIP $remote_addr:设置 XRealIP 头为客户端的 IP 地址。

proxy_set_header XForwardedFor $proxy_add_x_forwarded_for:用来表示 HTTP 请求端真实 IP。

四、负载均衡与容错机制

proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504:设置在出现错误、超时、无效头部、HTTP 5xx 错误等情况下,将请求顺次交由下一组服务器处理。

五、SSL 证书与 HTTPS 设置

申请 SSL 证书:使用 Let's Encrypt 或其他方式获取 SSL 证书。

配置 HTTPS:在 Nginx 中配置 SSL 证书,并强制使用 HTTPS。

六、可视化管理平台

NginxProxyManager:一个基于 NGINX 的反向代理管理系统,具有友好的 Web 界面,支持 Let's Encrypt 的免费 SSL 证书,易于管理和配置。

七、安装与配置步骤

1、安装 Nginx:如果尚未安装 Nginx,可以使用包管理器进行安装,在 Ubuntu 上使用sudo aptget updatesudo aptget install nginx

2、启动 Nginx:安装完成后,启动 Nginx 服务,并检查其运行状态。

3、编辑配置文件:通常位于/etc/nginx/nginx.conf/etc/nginx/sitesavailable/default,根据需要编辑配置文件,添加反向代理规则和其他相关设置。

4、测试配置文件:使用sudo nginx t 命令测试配置文件的有效性。

5、重新加载 Nginx:如果配置文件有更改,使用sudo systemctl reload nginx 命令重新加载 Nginx 以应用更改。

6、验证代理功能:在后端服务器上部署一个简单的 HTTP 服务器,然后在浏览器中访问相应的 URL,查看是否能看到后端服务器返回的内容。

通过以上步骤和配置,您可以充分利用 Nginx 的反向代理功能来优化网站的性能和安全性。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.7.3

Copyright Your WebSite.Some Rights Reserved.