nginx案例-不同客户端显示不同信息
nginx案例-不同客户端显示不同信息
一、需求梳理:
二、解决方法:
1. 完成nginx网站服务器配置
2. 利用lb01进行访问测试
3.完成nginx反向代理服务器配置一、需求梳理:
需求
根据用户请求客户端软件不同,显示不同页面信息,常见为手机端和网页端界面排版会不一样
资源池
| 用户请求[URI] | 处理请求服务器 | 站点目录 | 功能 |
|---|---|---|---|
| / | 10.0.0.8:80 | html/www/ | iphone服务器 |
| / | 10.0.0.7:80 | html/www/ | android服务器 |
| / | 10.0.0.9:80 | html/www/ | pc服务器 |
环境搭建
yum install nginx -y
egrep -v "#|^$" /etc/nginx/nginx.conf.default >/etc/nginx/nginx.conf
mkdir -p /data/html/www
cp /usr/share/nginx/html/* /data/html/www
sed -ri '/^$|#/d' /etc/nginx/nginx.conf
sed -ri '/^$|#/d' /etc/nginx/conf.d/default.conf
省
二、解决方法:
- 完成nginx网站服务器配置
创建测试环境
10.0.0.8 主机上生成网站测试页面文件
mkdir -p /data/html/www/upload
echo "test in Ip 10.0.0.8 is iPhone page" >/data/html/www/noah.html
10.0.0.7 主机上生成网站测试页面文件
mkdir -p /data/html/www/static
echo "test in Ip 10.0.0.7 is Android page" >/data/html/www/noah.html
10.0.0.9 主机上生成测试页面文件即可
echo "test in Ip 10.0.0.9 is pc page" >/data/html/www/noah.html
- 利用lb01进行访问测试
测试10.0.0.8访问是否正常
[root@xxx~]# curl -H host:www.etiantian.org 10.0.0.8/noah.html
test in Ip 10.0.0.8 is iPhone page
测试10.0.0.7访问是否正常
[root@xxx~]# curl -H host:www.etiantian.org 10.0.0.7/noah.html
test in Ip 10.0.0.7 is Android page
测试10.0.0.9访问是否正常
[root@xxx~]# curl -H host:www.etiantian.org 10.0.0.9/noah.html
test in Ip 10.0.0.7 is pc page
3.完成nginx反向代理服务器配置
配置upstream模块信息
upstream iphone {
server 10.0.0.8:80;
}
upstream android {
server 10.0.0.7:80;
}
upstream pc {
server 10.0.0.9:80;
}
配置proxy_pass模块信息
server {
listen 80;
server_name www.etiantian.org;
root html;
index index.html index.htm;
location / {
if ($http_user_agent ~* "iphone") {
proxy_pass http://iphone;
}
if ($http_user_agent ~* "android") {
proxy_pass http://android;
}
proxy_pass http://pc;
proxy_set_header host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
}文档更新时间: 2023-08-10 06:44 作者:月影鹏鹏