这里总结一个非常实用的网络部署技术,路由器的映射与内网结合,对外开放一个访问端口,因为公司内部的IP变动的周期非常长,所以在短时间内利用内网服务器可以看成是一台简单的服务器。
场景:公司内部有几台服务器(内网)上搭建了不少网站,想让外网顺利访问。(或者简单的,你想自己搭建个服务器给自己用)
主要工作流程:
1.搭建好内网的服务器(设定好端口,由于一个网络同一个端口只能开放一次,所以搭建对外开放的服务器的时候,要把端口错开开放)
2.在路由器的路由映射里做好对应配置:设置对应开放端口映射主机端口
3.外部端口在外网转发服务器上做好反向代理(主要把非80的标准接口转换为80的标准接口)
4.域名指向做了反向代理的服务器(反向代理服务器也需要做好对应的域名指向)
5.用域名访问公司内部的网络 www.a.com这种在外部可以直接访问内网了
(我内网用的服务器是LNMP搭建的,搭建环境这里就不做演示)
流程:
一:配置的服务器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端口,域名进行绑定(域名绑定的其实是转发接口处的操作)