网站首页 > 技术教程 正文
在Web服务器中,动态请求是指该请求需要服务器端的程序处理,而静态请求不需要程序处理,直接读取文件并返回即可,例如html,css,js,images等文件,针对这两种请求各自的特点,可以由Nginx提供对外访问,静态请求直接由Nginx处理,动态请求转交给Apache处理,这样就实现了动静分离。
1、更改Apache监听端口
当Nginx作为前端Web服务器后就会占用80端口,为了让Apache正常运行,需要改变Apache监听端口,下面将端口修改为81端口:
httpd.conf配置文件:
httpd-vhosts.conf配置文件:
2、更改Nginx对动态请求的处理
proxy_pass:用于代理客户端浏览器请求Apache服务器;
proxy_set_header:用于发送Host消息头;
Nginx在代理请求时能够自动传递来自客户端浏览器的请求消息头,但是无法传递Host消息头,因此需要设置proxy_set_header指令;
Nginx的$host变量保存了当前请求的主机名,即虚拟主机:www.test.org,放在Host消息头中用于告知Apache当前请求的虚拟主机。
3、传递客户端IP地址
在Web服务器中,REMOTE_ADDR表示客户端的IP地址,若要获取真实的客户端IP地址,需要Nginx将客户端IP用户另一种方式传递给Apache,这里借助HTTP请求消息头,我们可定义一个专门用于传递客户端IP的消息头X-Client-IP,当Nginx获取到客户端IP后,将IP放入消息头发送给Apache,然后在Apache中替换REMOTE_ADDR即可。
在原有虚拟主机上配置的基础上增加X-Client-IP消息头:
Nginx提供的$rremote_addr变量保存了客户端IP地址,然后将其添加到X-Client-IP中,如果Nginx收到的请求中已经存在X-Client-IP消息头,则会被替换,从而防止伪造客户端IP的情况发生。
Apache模块mod_remoteip用于检测REMOTE_ADDR是否为代理服务器的IP,如果是则从自定义的HTTP消息头中读取IP,在httpd.conf中启动mod_remoteip.so模块,并指定消息头的名称和代理服务器的IP地址。
上述配置后,当Apache的mod_remoteip模块检测到REMOTE_ADDR为127.0.0.1时,就会用X-Client-IP的值替换,然后清除X-Client-IP消息头。
猜你喜欢
- 2024-10-12 高级开发必须掌握Nginx之一 反向代理、动静分离、负载均衡
- 2024-09-25 nginx+consul做动态负载均衡(docker)
- 2024-09-25 面试题:Nginx 有哪些负载均衡策略?Nginx为什么要做动静分离?
- 2024-09-25 一张小图看尽 Nginx(看看一张图片)
- 2024-09-25 nginx的动静分离,你真的懂吗?(nginx+tomcat动静分离,linux)
- 2024-09-25 通过 Consul-Template 实现动态配置Nginx负载服务
- 2024-09-25 Nginx、Consul、Upsync实现动态负载均衡配置
- 2024-09-25 30s 就可以掌握的 Nginx 片段(nginx 304)
- 2024-09-25 Jenkins for Kubernetes实现Slave动态伸缩
- 2024-09-25 Nginx总结(九) 实现系统的动静分离
你 发表评论:
欢迎- 最近发表
-
- Win10 TH2正式版官方ESD映像转换ISO镜像方法详解
- 使用iso镜像升级到Windows 10的步骤
- macOS Ventura 13.2 (22D49) Boot ISO 原版可引导镜像
- 安利一个用ISO镜像文件制作引导U盘的的小工具RUFUS
- CentOS 7使用ISO镜像配置本地yum源
- 用于x86平台的安卓9.0 ISO镜像发布下载:通吃I/A/N、完全免费
- AlmaLinux 9.6发布:升级工具、初步支持IBM Power虚拟化技术
- Rufus写入工具简洁介绍与教程(写入模式)
- 新硬件也能安装使用了,Edge版Linux Mint 21.3镜像发布
- 开源工程师:Ubuntu应该抛弃32位ISO镜像
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)