Nginx反向代理配置详解,欧博注册图文全面总结,建议收藏
2024-11-18 1003 版权
版权声明: 本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《 阿里云开发者社区用户服务协议》和 《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,欧博代理填写 侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,欧博官网标准版 1个月
简介: Nginx 是大型架构必备中间件,也是大厂喜欢考察的内容,必知必会。本篇全面详解 Nginx 反向代理及配置,建议收藏。
关注△mikechen的互联网架构△,10年+BAT架构经验倾囊相授 大家好,欧博娱乐我是 mikechen | 陈睿 。 Nginx是大型架构必备中间件,也是大厂喜欢考察的内容,必知必会。 本篇,全面详解 Nginx 反向代理及配置。@mikechen NginxNginx是一款高性能的HTTP、和反向代理服务器,广泛应用于Web服务的负载均衡、缓存、和反向代理。 反向代理(Reverse Proxy),欧博allbet是位于目标服务器、和客户端之间的代理服务器。 客户端的请求,首先到达反向代理服务器,然后由反向代理服务器,将请求转发给相应的后端服务器,并将后端服务器的响应返回给客户端。 如下图所示: 工作流程,大致如下: 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;error_log:定义错误日志文件的位置和日志级别。 pid:指定存储 Nginx 主进程 ID 的文件位置。 2.http:HTTP 服务器设置。 包含:MIME 类型、默认类型、日志格式、访问日志、文件发送、和保持活动时间的配置。 包含:上游服务器块,定义了两个后端服务器以供负载均衡。 3.server 虚拟主机设置,配置如下: server { listen 80; server_name example.com; location / { proxy_pass ; 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; } }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 ; 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; } } }通过以上配置,Nginx可以有效地作为反向代理服务器,提高系统的性能和可靠性。 以上,是 Nginx 反向代理配置的详细解析,欢迎评论区留言交流或拓展。 我是 mikechen | 陈睿 ,关注【mikechen的互联网架构】,10年+BAT架构技术倾囊相授。 (责任编辑:) |