之前看了挺多大佬写相关的文章,奈何我没太理解,所以想着自己搭建一个试试理解下。
搞完之后发现其实也就是一个nginx反向代理+配置文件改动下的事情。不知道搞得对不对,希望XD们看了指正下。
一、首先呢虚拟机安装nginx
1、安装编译工具及库文件
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

2、安装 PCRE PCRE 作用是让 Nginx 支持 Rewrite 功能。
cd /usr/local/src/
wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz

3、解压编译
tar zxvf pcre-8.35.tar.gz
cd pcre-8.35
./configure
make && make install


4、安装nginx
cd /usr/local/src/
wget http://nginx.org/download/nginx-1.6.2.tar.gz
tar zxvf nginx-1.6.2.tar.gz

编译安装:
./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35
make
make install


5、到这里已经安装完了,就可以启动下看看好了没
启动命令如下
/usr/local/webserver/nginx/sbin/nginx
可以看到也可能访问

二、然后就可以修改一下配置文件了复现了一下了
nginx反向代理其实也就是实现了一个端口映射,套用下百度的解释:
Nginx作为近年来较火的反向代理服务器,安装在目的主机端,主要用于转发客户机请求,后台有多个http 服务器提供服务,
nginx的功能就是把请求转发给后面的服务器,决定哪台目标主机来处理当前请求。
首先我在自己的本机启动一个tomcat,地址是192.168.3.101:8081

然后我的虚拟机192.168.44.133假设为外网地址,域名为www.test1.com
现在修改下nginx配置文件,修改为如下结果,添加两个server方法,第一个server的作用为如果使用的是ip访问,则返回400;第二个server的作用为如果使用www.test1.com域名来访问的话,则将请求转发到本机192.168.3.101的8081端口

然后我们保存nginx.conf文件,重启下nginx
/usr/local/webserver/nginx/sbin/nginx -s reload
重启之后的效果:(如果重启nginx后没效果,建议重启虚拟机)
访问192.168.44.133返回400,访问www.test1.com是无法访问的

ping一下www.test1.com,发现是通的,但是无法访问

这个时候结果是ip访问为400,域名无法访问,这时候就可以用bp简单复现一下
首先访问ip192.168.44.133抓包,我们可以看到是返回400

这时候修改下host头为www.test1.com 看效果,这时候我们就发现可以访问到内部系统tomcat

利用脚本跑下看看效果

应该大概也许可能也就是这样吧!!!!!!!!!!!!!!!!!!!!!
本文迁移自知识星球“火线Zone”