网站首页 > 技术教程 正文
在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总结(九) 实现系统的动静分离
你 发表评论:
欢迎- 08-06linux 和 windows文件格式互相转换
- 08-06谷歌 ChromeOS 已支持 7z、iso、tar 文件格式
- 08-06Linux下比较文件内容的6种方法
- 08-06文件格式及功能汇总
- 08-0610个Linux文件内容查看命令的实用示例
- 08-06Linux-如何区分不同文件类型
- 08-06Zabbix技术分享——监控windows进程资源使用情况
- 08-06Linux系统卡顿?学会ps命令这三招,轻松定位问题进程
- 最近发表
- 标签列表
-
- 下划线是什么 (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)
本文暂时没有评论,来添加一个吧(●'◡'●)