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
省

二、解决方法:

  1. 完成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
  1. 利用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   作者:月影鹏鹏
IT运维支持-AIWALY-月影工作室