龙空技术网

网页服务-Nginx - 反向代理 - 基于浏览器

夢天說夢話 69

前言:

如今看官们对“nginx反向代理静态文件怎么用”大概比较关心,朋友们都想要学习一些“nginx反向代理静态文件怎么用”的相关文章。那么小编在网上网罗了一些关于“nginx反向代理静态文件怎么用””的相关知识,希望小伙伴们能喜欢,你们一起来学习一下吧!

基本环境

底层: Windows 11 x64虚拟化层:VMWare Workstation 17.0.2虚拟化兼容性:ESXi 6.7虚拟硬件:    CPU: 4 Core    RAM: 16 GB    HDD: 128 GB SCSI    NetWork: NAT操作系统版本: CentOS 7.9.2207 Mininal                无系统更新                无内核升级                关闭 SELinux                配置 NTP 时间同步                安装 Open VM Tools                美化 CLI                添加 NetWork: 桥接网络             Windows Server 2012 R2 Update                无系统更新                关闭 防火墙                安装 VM Tools             Windows 10 企业版 LTSC 21H2                 无系统更新                关闭 防火墙                安装 VM Tools
基本定义
#    Nginx代理服务器:是一种高性能的Web服务器和反向代理服务器,具有负载均衡、缓存加速、SSL终端、静态资源服务等多种功能。它在负载均衡、缓存加速、安全过滤等场景中有着广泛的应用。通过合理配置和使用Nginx代理服务器,可以提高系统的性能、可用性和安全性#    客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址#    基于浏览器的反向代理:根据客户端使用的浏览器不同而指向不同的网站,一般用于多终端访问比如PC网站、手机网站、平板网站等
场景设计网络场景设计
#    网络场景设计沿用《网页服务-Nginx - 反向代理 - 基于域名》,因此仅简单讲解网络场景,不做测试#    客户端 PC 操作系统:Windows 10 企业版 LTSC 21H2 IP地址:172.16.28.149访问控制:可以访问Nginx代理服务器外网IP,不可访问网站服务器         通过Host文件方式,解析 、 两个域名到Nginx代理服务器 外网IP#    Nginx 代理服务器操作系统:CentOS 7.9.2207 Mininal 添加两个网卡IP地址:外网IP:172.16.28.110       内网IP:192.168.31.110 192.168.41.110访问控制:外网IP 可以访问 客户端PC ,内网IP可以访问网页服务器#    网页服务器操作系统:Windows Server 2012 R2 UpdateIP地址:Site 1 :192.168.31.31  → IE 浏览器访问页面       Site 2 :192.168.31.32  → Chrome 浏览器访问页面访问控制:可以访问 Nginx代理服务器,不能访问客户端PC
网站场景设计
#    默认网站 数据目录 WinSvr IIS 已停止%SystemDrive%\inetpub\wwwroot#    沿用 《网页服务-Nginx - 反向代理 - 基于域名》 创建的两个 Site#    定义网站数据目录 Site 1 站点 D:\data\www\Site1\ IE 浏览器访问页面Site 2 站点 D:\data\www\Site2\ Chrome 浏览器访问页面#    设定 网站Site 1 站点 D:\data\www\Site1\ 访问路径为 192.168.31.31Site 2 站点 D:\data\www\Site2\ 访问路径为 192.168.31.32
前置准备网页服务器 WinSvr 2012R2
#    安装 IIS ,详情见另外文档#    网页文件沿用《网页服务-Nginx - 反向代理 - 基于访问IP地址》页面,或更之前的页面,此处不再创建del D:\data\www\Site2\index.html#    访问两个站点,测试可用性
Nginx 防火墙管理
#    防火墙放行 Nginx 8083 端口firewall-cmd --permanent --zone=public --add-port=8083/tcp#    生效 防火墙策略firewall-cmd --reload
编辑 代理服务器 配置文件
#   方法 1 : 编辑 虚拟主机配置文件nano /etc/nginx/conf.d/reverse-proxy.conf#    添加 如下内容#    {#    定义上游站点 Site MSIE#    server 访问地址 192.168.31.31upstream msie {    server 192.168.31.31;}#    定义上游站点 Site Chrome#    server 访问地址 192.168.31.32upstream chrome {    server 192.168.31.32;}#    定义 反向代理 监听端口 8083#    定义 MSIE 浏览器 标识符为 Mozilla 指向     定义 Chrome 浏览器 标识符为 chrome 指向  {    listen 8083;    location / {        if ($http_user_agent ~* "Mozilla") {            proxy_pass ;        }        if ($http_user_agent ~* "chrome") {            proxy_pass ;        }    }}#    }#    方法 2 : 命令行直接创建 虚拟主机 配置文件sudo cat <<EOF >> /etc/nginx/conf.d/reverse-proxy.conf#    定义上游站点 Site MSIE#    server 访问地址 192.168.31.31upstream msie {    server 192.168.31.31;}#    定义上游站点 Site Chrome#    server 访问地址 192.168.31.32upstream chrome {    server 192.168.31.32;}#    定义 反向代理 监听端口 8083#    定义 MSIE 浏览器 标识符为 Mozilla 指向     定义 Chrome 浏览器 标识符为 chrome 指向  {    listen 8083;    location / {        if ($http_user_agent ~* "Mozilla") {            proxy_pass ;        }        if ($http_user_agent ~* "chrome") {            proxy_pass ;        }    }}EOF
浏览器标识符
#    IE浏览器标识符:MSIE (此处由于我测试了不行所以根据IIS日志改成了Mozilla)#    Chrome浏览器标识符:chrome (Edeg浏览器同内核,因此也适用)#    Android 手机标识符:android#    iPhone 手机标识符:iphone
重新启动 Nginx 服务
#    重新启动 Nginx 服务systemctl restart nginx.service
访问地址
#    Nginx 反向代理 访问地址#    在 客户端 PC 分别使用IE、Chrome、Edeg等浏览器访问    由于在《网页服务-Nginx - 反向代理 - 基于域名》 中曾经做过静态域名解析,因此可以使用域名访问

IE浏览器 自动跳转到Site 1

Chrome、Eged 浏览器 自动跳转到Site 2

标签: #nginx反向代理静态文件怎么用 #nginx配置外网服务器 #nginx代理ntp