1.新建三个虚拟机【一个代理服务器,两个web站点】
在VMware虚拟机上新建三个虚拟机,操作系统都为windows server2008 standard。第一个虚拟主机做代理服务器(192.168.174.128),另外两个做web服务器:
虚拟机1 | windows server2008-1 | 192.168.174.128 | 代理服务器 |
虚拟机2 | windows server2008-2 | 192.168.174.129 | A站点 |
虚拟机3 | windows server2008-3 | 192.168.174.130 | B站点 |
图1三个虚拟主机做服务器站点
2. web服务器配置:添加虚拟机web服务器角色IIS并新建网站A、B
3.反向代理服务器配置
3.1将Nginx文件粘贴到虚拟机1的桌面上。
3.2Nginx文件配置
配置文件…/conf/nginx.conf
说明:
Worker_process 1;#默认工作进程
Events {…} #最大工作组数量
http{ #http请求响应
Server {
Listen 80 ;# 监听端口
Server_ name localhost # 代理服务器 域名 默认本机
Location/ { #代理服务器转向的服务器地址
Root html;
Index index.html index.htm;
}
}
}
以上是文档的原始命令,启动nginx 服务器,在命令提示符窗口中 start nginx.exe,任务管理器中会有两个nginx.exe进程,可以访问本地服务器站点localhost.
如下图:
3.3启动nginx服务器,浏览本地站点
3.4 更改配置文件nginx.conf,反向代理功能配置
添加命令:配置内部网中第一个反向代理服务器【站点A】
Server { Listen 80; Server_name www.a.com;#反向代理服务器转向的服务器名称,域名【站点A域名】 Location /{ Proxy_pass http://192.168.174.129;# 反向代理服务器定向到的第一个内部网 服务器站点【虚拟主机服务器 站点A的IP地址】 } 添加命令:配置内部网中第二个反向代理服务器【站点B】 Server { Listen 80; Server_name www.b.com;#反向代理服务器转向的服务器名称,域名【站点B域名】 Location /{ Proxy_pass http://192.168.174.130;# 反向代理服务器定向到的第二个内部网 服务器站点【虚拟主机服务器 站点B的IP地址】 } }
3.5 测试反向代理功能
在物理主机上【非虚拟机】,访问A站点和B站点。首先更改物理主机host文件,添加域名www.a.com、www.b.com IP映射为代理服务器C服务器IP【虚拟主机1的IP】
当访问连接完成,反向代理服务器功能配置测试成功。在物理主机上访问A站点和B站点时,都是通过代理服务器C的IP访问。此时,因为代理服务器C为私有网IP,只能内部访问,所以只能在本地物理机上访问,不能通过外网访问。
3.6端口映射
将代理服务器C做端口映射,私有IP转化为公网IP,外网能够访问A站和B站
在虚拟机上,通过编辑/【虚拟网络编辑器】做端口映射,将代理服务器C映射为公网。NAT设置,添加代理服务器C站点的IP和端口,映射到本地物理机的IP,端口80。
3.7 更改物理机hosts文件,添加A站点和B站点域名的IP映射为物理机的IP


通过内网和外网做的代理服务器,访问内部服务器的功能全部实现。
4.可能遇到的问题
4.1无法新建或修改网站目录下文件:设置用户编辑站点文件夹权限,更改默认首页的内容。