务本寻道

Nginx 反向代理配置_王晓燕

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【虚拟主机1IP

当访问连接完成,反向代理服务器功能配置测试成功。在物理主机上访问A站点和B站点时,都是通过代理服务器CIP访问。此时,因为代理服务器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无法新建或修改网站目录下文件:设置用户编辑站点文件夹权限,更改默认首页的内容。