nginx_rewrite对于非指定ip显示特定的页面

1, 安装ngnix源和软件包。
在这里插入图片描述
2,修改nginx配置文件。
在这里插入图片描述
在这里插入图片描述
3.创建一个新的跳转页面。
在这里插入图片描述
在这里插入图片描述
4.使用非指定ip的虚拟机在浏览器中访问域名。
在这里插入图片描述

### Nginx Rewrite 保持原始 Client IP 配置 当配置 Nginx 使用 `rewrite` 功能时,为了确保能够保留并传递客户端的真实 IP 地址给后端服务器,通常需要设置一些特定的指令来处理代理环境下的请求头。具体来说,在反向代理场景下,可以通过修改 Nginx 配置文件中的相关参数实现这一目标。 对于希望基于客户端 IP 进行不同 URL 跳转的情况,除了使用 `if` 和 `rewrite` 指令外,还需要考虑如何正确地转发真实的客户端 IP 给下游服务。这涉及到两个重要的 HTTP 请求头部字段:`X-Real-IP` 和 `X-Forwarded-For`。通过适当配置这些头部信息,可以在日志记录以及后续处理过程中维持原始访问者的身份识别[^2]。 #### 修改 Nginx 配置以保存真实 IP 在 `/usr/local/nginx/conf/nginx.conf` 文件内添加或调整如下所示的部分: ```nginx http { ... log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; server { listen 80; server_name localhost; location / { set $ip $remote_addr; if ($ip = "127.0.0.1") { rewrite ^/ /internal last; } if ($ip != "127.0.0.1") { rewrite ^/ /public last; } proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } ``` 上述配置中加入了两条关键语句用于维护客户端的真实 IP: - `proxy_set_header X-Real-IP $remote_addr;`: 将实际来访者 IP 设置为新的请求头 `X-Real-IP`. - `proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;`: 更新或追加 `X-Forwarded-For` 头部列表,以便于追踪经过多个代理后的最初来源地址. 这样做的好处在于即使流量经过了 Nginx 反向代理之后再发送至其他应用层组件(比如 PHP-FPM),仍然能获取到最初始连接发起方的确切网络位置数据.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值