您现在的位置是:测试开发营 > 物联网

Nginx反向代理配置详解(图文全面总结)

测试开发营2025-11-26 19:17:31【物联网】6人已围观

简介Nginx是大型架构必备中间件,也是大厂喜欢考察的内容,本篇就全面来详解Nginx反向代理及配置@mikechenNginxNginx是一款高性能的HTTP、和反向代理服务器,广泛应用于Web服务的负

Nginx是向代大型架构必备中间件 ,也是理配大厂喜欢考察的内容,本篇就全面来详解Nginx反向代理及配置@mikechen

Nginx

Nginx是置详一款高性能的HTTP、和反向代理服务器 ,解图结广泛应用于Web服务的文全负载均衡 、缓存、面总和反向代理 。建站模板向代

图片

Nginx反向代理

反向代理(Reverse Proxy),理配是置详位于目标服务器、和客户端之间的解图结代理服务器 。

客户端的文全请求 ,首先到达反向代理服务器 ,面总然后由反向代理服务器,向代将请求转发给相应的理配后端服务器 ,并将后端服务器的云计算置详响应返回给客户端 。

如下图所示:

图片

工作流程,大致如下 :

1 、客户端:浏览器向网站发起请求,比如:mikechen.cc发起请求;

2  、DNS解析 :mikechen.cc被解析为反向代理服务器的IP地址 ,(如 :203.0.113.10);

3 、发送请求:浏览器发送HTTP ,请求到反向代理服务器;

4、反向代理服务器处理请求:Nginx接收请求,并根据配置文件决定将请求转发给后端服务器,香港云服务器比如 :server1 、server2、server3......等  。

5 、反向代理服务器接收响应:Nginx接收到后端服务器的响应 。

Nginx反向代理配置

在配置Nginx反向代理之前 ,我们要熟知它的配置文件,Nginx 的配置文件通常位于 :/etc/nginx/nginx.conf 目录 。

配置文件结构,源码下载如下图所示:

图片

整体参数,如下:

1.main

全局设置 ,适用于整个 Nginx 服务器;

复制user nginx; worker_processes auto; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid;1.2.3.4. error_log :定义错误日志文件的位置和日志级别。pid:指定存储 Nginx 主进程 ID 的文件位置。2.http  :HTTP 服务器设置 。包含 :MIME 类型、默认类型 、日志格式 、访问日志、文件发送 、高防服务器和保持活动时间的配置。包含 :上游服务器块,定义了两个后端服务器以供负载均衡。3.server

虚拟主机设置,配置如下 :

复制server { listen 80; server_name example.com; location / { proxy_pass http://backend_server; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19. listen :定义服务器监听的端口;server_name :指定服务器的域名;location :定义 URL 路径的处理方式 。

以下是一个完整的 Nginx 反向代理配置:

复制user nginx; worker_processes auto; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main $remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for"; access_log /var/log/nginx/access.log main; sendfile on; keepalive_timeout 65; include /etc/nginx/conf.d/*.conf; upstream backend_server { server 192.168.1.10:8080; server 192.168.1.11:8080; } server { listen 80; server_name example.com; location / { proxy_pass http://backend_server; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } } }1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.48.49.

通过以上配置,服务器租用Nginx可以有效地作为反向代理服务器 ,提高系统的性能和可靠性。

很赞哦!(66828)