這裏總結一個很是實用的網絡部署技術,路由器的映射與內網結合,對外開放一個訪問端口,由於公司內部的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端口,域名進行綁定(域名綁定的實際上是轉發接口處的操做)