这里总结一个很是实用的网络部署技术,路由器的映射与内网结合,对外开放一个访问端口,由于公司内部的IP变更的周期很是长,因此在短期内利用内网服务器能够当作是一台简单的服务器。 nginx
场景:公司内部有几台服务器(内网)上搭建了很多网站,想让外网顺利访问。(或者简单的,你想本身搭建个服务器给本身用) apache
主要工做流程: 服务器
1.搭建好内网的服务器(设定好端口,因为一个网络同一个端口只能开放一次,因此搭建对外开放的服务器的时候,要把端口错开开放) 网络
2.在路由器的路由映射里作好对应配置:设置对应开放端口映射主机端口 网站
3.外部端口在外网转发服务器上作好反向代理(主要把非80的标准接口转换为80的标准接口) spa
4.域名指向作了反向代理的服务器(反向代理服务器也须要作好对应的域名指向) 代理
5.用域名访问公司内部的网络 www.a.com这种在外部能够直接访问内网了 server
(我内网用的服务器是LNMP搭建的,搭建环境这里就不作演示) 接口
流程: ip
一:配置的服务器server开放的是100端口(内网)内网就是通常的server配置,只是把listen的端口改为100(由于80端口被另一个站点占据了)
而后先确保内网能够在直接输入IP的状况下进行访问,192.168.1.100:100这种能够访问到(这里属于通常的搭建网站流程)
二:在路由器转发上进行虚拟转发
登陆路由器,切换到静态映射部分
填写协议,由于是让外网访问内部网络,通常用TCP协议,外部起始端口主要是9000,9001这种,假如你的IP是14.215.177.37设置了这个,对外开放的端口地址就是:
14.215.177.37:9000
内部IP地址,指的是刚才搭建服务器的那台虚拟机的IP地址,内部其实端口是咱们在配置服务器的时候对服务器的配置的。这样对应的有192.168.1.100 100填写进入。
这样咱们就完成了,路由对内网的端口映射,外部能够经过咱们的ip:port的方式如 14.215.177.37:9000访问到咱们的内网搭建的网站上。
三:如今咱们的网址访问的是 14.215.177.37:9000 咱们访问的时候,很是很差记,可能会忘记,并且不是标准的80端口。咱们要实现的目的是www.test.com这种格式访问。咱们须要登陆域名配置(我是本身搭建了DNS解析服务器) 直接在A解析记录那添加了一条指向记录。让www.test.com这指向了咱们服务器。
四:nginx的反向代理设置
这个在nginx的简单部署里部署过
server{
listen 80;
server_name www.test.com;
location / {
proxy_pass http://www.test.com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for
} }
五:
用远程机子登陆访问一次,访问成功!
PS:能够用这个技术搭建服务器对外使用(可是不建议如此操做)在服务器上设置一个FTP权限账号,用一个apache或者nginx的配置指向对应权限目录,开放一个访问端口,而后用nginx类代理软件进行转发成标准80端口,域名进行绑定(域名绑定的实际上是转发接口处的操做)