多个虚拟机vbox如何解决端口定向实现一个IP访问80端口

Web、Mail、Ftp、DNS、Proxy、VPN、Samba、LDAP 等基础网络服务
b2sun
帖子: 51
注册时间: 2013-09-08 19:01
系统: ubuntu-desktop17.04
来自: 广州天河区
送出感谢: 0
接收感谢: 0
联系:

多个虚拟机vbox如何解决端口定向实现一个IP访问80端口

#1

帖子 b2sun » 2017-04-25 11:56

多个虚拟机vbox如何解决端口定向实现一个IP访问80端口系
统结构
1 基础OS平台 ubuntu 17.04 Server 安装了VBOX5.20
2 vbox01 windows2003Server 安装了IIS和ACCESS 支持ASP类的网站 开放端口82
3 VBOX02 ubuntu16.04 Server 安装了APACHE2+PHP+mysql 支行PHP类的网站 开放端口80
所有域名指向vbox02如果是php类的就直接在vbox02上运行,如果是asp类的。我只好做个链接跳转到vbox01的82端口。
问题: 现在所有的ASP的网站都变成 http://www.b2XXX.cc:82/index.asp之类 都加了个端口。
请问各位大神。我如何能够实现不要这个82的端口。实现能够两个VBOX或者多个VBOX机运营网站。
(1)考虑过将ASP的网页在APACHE2上加个ASP模块运营。但是看了一下不太稳定,放弃了。还是想在win2003下搞IIS支持为好。

在此表示 感谢
如果成功解决端口定向的问题,我愿意免费给200M网站空间2个域名支持。绝对承诺。
----------------------------
一波未平 一波又起
人生浮动 心随云飘
----------------------------
智能达人
http://b2sun.cc
whirlwind
帖子: 60
注册时间: 2013-02-01 1:39
送出感谢: 10 次
接收感谢: 3 次

Re: 多个虚拟机vbox如何解决端口定向实现一个IP访问80端口

#2

帖子 whirlwind » 2017-04-26 13:09

nginx 反向代理
b2sun
帖子: 51
注册时间: 2013-09-08 19:01
系统: ubuntu-desktop17.04
来自: 广州天河区
送出感谢: 0
接收感谢: 0
联系:

Re: 多个虚拟机vbox如何解决端口定向实现一个IP访问80端口

#3

帖子 b2sun » 2017-04-26 21:29

whirlwind 写了:nginx 反向代理
您 好,,NGINX是什么。我没用过。可否提供 一些技术资料。我实现方法
我早年搞过squid做过webcache 是不是类似这个功能??

我的网络配置如下:
主机 IP 公网的IP地址 只有一个(112.22.1X3.1XX)
然后在这个主机上我安装了3台虚拟机(VirtualBOX5.XX版本) 都是使用的NAT模式 而且每台虚拟机的IP都是:10.0.2.15
这样能不能实现反向代理? 还是要改变虚拟机的配置NAT模式为其它的工作模式。
还望多多指点。不胜感激。。。
----------------------------
一波未平 一波又起
人生浮动 心随云飘
----------------------------
智能达人
http://b2sun.cc
poloshiao
论坛版主
帖子: 18280
注册时间: 2009-08-04 16:33
送出感谢: 21 次
接收感谢: 1957 次

Re: 多个虚拟机vbox如何解决端口定向实现一个IP访问80端口

#4

帖子 poloshiao » 2017-04-27 8:43

b2sun
帖子: 51
注册时间: 2013-09-08 19:01
系统: ubuntu-desktop17.04
来自: 广州天河区
送出感谢: 0
接收感谢: 0
联系:

Re: 多个虚拟机vbox如何解决端口定向实现一个IP访问80端口

#5

帖子 b2sun » 2017-04-28 10:58

poloshiao 写了:
NGINX 是什么
https://wiki.ubuntu.com/ServerTeam/NGINX
What is NGINX?

https://help.ubuntu.com/community/Nginx
To Install Nginx
您 好。。。我看了一下。全是英文不说。而且非常的简单。能不能针对 我的这种要求做个配置

nginx配置反向代理
【需求】:

在一台服务器上做代理服务器,将http请求转发到另一台IIS服务器上,通过二级域名形式访问。
【步骤】:

进入nginx.conf编辑。

# vim nginx.conf

添加server

server{
listen 80;
server_name test.satanrabbit.com;

location / {
proxy_pass http://121.199.**.*:80;
}
}

重启nginx

# cd /usr/local/sbin/
# ./nginx -s reload

万分感谢。。。。
----------------------------
一波未平 一波又起
人生浮动 心随云飘
----------------------------
智能达人
http://b2sun.cc
poloshiao
论坛版主
帖子: 18280
注册时间: 2009-08-04 16:33
送出感谢: 21 次
接收感谢: 1957 次

Re: 多个虚拟机vbox如何解决端口定向实现一个IP访问80端口

#6

帖子 poloshiao » 2017-04-28 12:08

能不能针对 我的这种要求做个配置
實作部份 本論壇有許多 nginx 有經驗的高手 請他們幫忙
b2sun
帖子: 51
注册时间: 2013-09-08 19:01
系统: ubuntu-desktop17.04
来自: 广州天河区
送出感谢: 0
接收感谢: 0
联系:

Re: 多个虚拟机vbox如何解决端口定向实现一个IP访问80端口

#7

帖子 b2sun » 2017-04-28 14:11

poloshiao 写了:
能不能针对 我的这种要求做个配置
實作部份 本論壇有許多 nginx 有經驗的高手 請他們幫忙
我想应该是有好多高手。。找哪位。推荐下吧。急用配置服务器。

再次感谢
----------------------------
一波未平 一波又起
人生浮动 心随云飘
----------------------------
智能达人
http://b2sun.cc
头像
qy117121
论坛版主
帖子: 49996
注册时间: 2007-12-14 13:40
系统: Winbuntu
来自: 志虚国乌由市
送出感谢: 17 次
接收感谢: 340 次
联系:

Re: 多个虚拟机vbox如何解决端口定向实现一个IP访问80端口

#8

帖子 qy117121 » 2017-04-28 19:58

如果要用nginx反向代理的话,修改的可不少啊,

你已经装了apache2监听了80端口,这时候nginx就无法监听80端口
可以把apache2 监听端口改成别的,nginx监听80端口,并在nginx中配置反代,
分别反代apache2中的网站和另一个vps中的asp 网站

下面是我的vps中的配置,截取了一点,可以参考下
apache2

代码: 全选

<VirtualHost 127.0.0.1:8080>
    ServerName abc.com
    ServerAlias www.abc.com
    ServerAdmin [email protected]
    DocumentRoot /home/admin/web/abc.com/public_html
</VirtualHost>
nginx

代码: 全选

server {
    listen      127.0.0.1:80;
    server_name abc.com;

    error_log  /var/log/apache2/domains/abc.com.error.log error;
location / {
        proxy_pass      http://127.0.0.1:8080;
}
  
}
渠月 · QY    https://vz.rs/u
本人只会灌水,不负责回答问题

无聊可以点一下→ http://u.nu/ubuntu
b2sun
帖子: 51
注册时间: 2013-09-08 19:01
系统: ubuntu-desktop17.04
来自: 广州天河区
送出感谢: 0
接收感谢: 0
联系:

Re: 多个虚拟机vbox如何解决端口定向实现一个IP访问80端口

#9

帖子 b2sun » 2017-05-02 9:27

qy117121 写了:如果要用nginx反向代理的话,修改的可不少啊,

你已经装了apache2监听了80端口,这时候nginx就无法监听80端口
可以把apache2 监听端口改成别的,nginx监听80端口,并在nginx中配置反代,
分别反代apache2中的网站和另一个vps中的asp 网站

下面是我的vps中的配置,截取了一点,可以参考下
apache2

代码: 全选

<VirtualHost 127.0.0.1:8080>
    ServerName abc.com
    ServerAlias www.abc.com
    ServerAdmin [email protected]
    DocumentRoot /home/admin/web/abc.com/public_html
</VirtualHost>
nginx

代码: 全选

server {
    listen      127.0.0.1:80;
    server_name abc.com;

    error_log  /var/log/apache2/domains/abc.com.error.log error;
location / {
        proxy_pass      http://127.0.0.1:8080;
}
  
}
我运营的机器不能动。我是想在基础平台上安装nginx可以考虑 然后转发到下面两个服务器上。
OK? 多谢扶持
----------------------------
一波未平 一波又起
人生浮动 心随云飘
----------------------------
智能达人
http://b2sun.cc
头像
qy117121
论坛版主
帖子: 49996
注册时间: 2007-12-14 13:40
系统: Winbuntu
来自: 志虚国乌由市
送出感谢: 17 次
接收感谢: 340 次
联系:

Re: 多个虚拟机vbox如何解决端口定向实现一个IP访问80端口

#10

帖子 qy117121 » 2017-05-02 13:02

其实用apache2做反向代理也是可以的 ,宿主机上做代理也行
渠月 · QY    https://vz.rs/u
本人只会灌水,不负责回答问题

无聊可以点一下→ http://u.nu/ubuntu
b2sun
帖子: 51
注册时间: 2013-09-08 19:01
系统: ubuntu-desktop17.04
来自: 广州天河区
送出感谢: 0
接收感谢: 0
联系:

Re: 多个虚拟机vbox如何解决端口定向实现一个IP访问80端口

#11

帖子 b2sun » 2017-05-02 14:52

qy117121 写了:其实用apache2做反向代理也是可以的 ,宿主机上做代理也行

如果帮助我搞定,我出200M独立IP空间,如何 ?
----------------------------
一波未平 一波又起
人生浮动 心随云飘
----------------------------
智能达人
http://b2sun.cc
qiziyh
帖子: 89
注册时间: 2006-05-31 1:52
送出感谢: 0
接收感谢: 0
联系:

Re: 多个虚拟机vbox如何解决端口定向实现一个IP访问80端口

#12

帖子 qiziyh » 2017-05-02 23:13

我觉得这个要求,如ngix有点复杂了,如果本身没有用到ngix的话,去装这个包有点浪费,建议用iptable的NAT功能,一条命令就解决问题
b2sun
帖子: 51
注册时间: 2013-09-08 19:01
系统: ubuntu-desktop17.04
来自: 广州天河区
送出感谢: 0
接收感谢: 0
联系:

Re: 多个虚拟机vbox如何解决端口定向实现一个IP访问80端口

#13

帖子 b2sun » 2017-05-03 18:27

qiziyh 写了:我觉得这个要求,如ngix有点复杂了,如果本身没有用到ngix的话,去装这个包有点浪费,建议用iptable的NAT功能,一条命令就解决问题
我的主机只有一个IP地址。其它的虚拟机是安装在这个主机上的。。不知道能不能实现
----------------------------
一波未平 一波又起
人生浮动 心随云飘
----------------------------
智能达人
http://b2sun.cc
qiziyh
帖子: 89
注册时间: 2006-05-31 1:52
送出感谢: 0
接收感谢: 0
联系:

Re: 多个虚拟机vbox如何解决端口定向实现一个IP访问80端口

#14

帖子 qiziyh » 2017-05-04 2:03

b2sun 写了:
qiziyh 写了:我觉得这个要求,如ngix有点复杂了,如果本身没有用到ngix的话,去装这个包有点浪费,建议用iptable的NAT功能,一条命令就解决问题
我的主机只有一个IP地址。其它的虚拟机是安装在这个主机上的。。不知道能不能实现
仔细看了你的问题贴,有些疑惑,想知道你的意思是,有一个地址,例如:10.0.0.1,这也是基础机的IP
然后两台虚拟机VOB1和VOB2
你的目的是希望访问同一个地址如10.0.0.1:80然后可以自动对应相应的虚拟机?
如果理解没有错误的话,我的思想:
设VOB1的ip为10.0.0.2,运行php.
VOB2的ip为10.0.0.3,运行asp
通过iptables做NAT,将10.0.0.1:80的流量全部同时转发到10.0.0.2:80及10.0.0.3:80即可,但是前提应该是vob1和vob2两台虚拟机运行的程序不同或目录不同,如访问的是index.php,则会同时访问两台虚假机,但是一台有正常回应,而另一台会找不到相应文件,此时会同时返回相关状态到你的客户端。
b2sun
帖子: 51
注册时间: 2013-09-08 19:01
系统: ubuntu-desktop17.04
来自: 广州天河区
送出感谢: 0
接收感谢: 0
联系:

Re: 多个虚拟机vbox如何解决端口定向实现一个IP访问80端口

#15

帖子 b2sun » 2017-05-04 14:35

qiziyh 写了:
b2sun 写了:
qiziyh 写了:我觉得这个要求,如ngix有点复杂了,如果本身没有用到ngix的话,去装这个包有点浪费,建议用iptable的NAT功能,一条命令就解决问题
我的主机只有一个IP地址。其它的虚拟机是安装在这个主机上的。。不知道能不能实现
仔细看了你的问题贴,有些疑惑,想知道你的意思是,有一个地址,例如:10.0.0.1,这也是基础机的IP
然后两台虚拟机VOB1和VOB2
你的目的是希望访问同一个地址如10.0.0.1:80然后可以自动对应相应的虚拟机?
如果理解没有错误的话,我的思想:
设VOB1的ip为10.0.0.2,运行php.
VOB2的ip为10.0.0.3,运行asp
通过iptables做NAT,将10.0.0.1:80的流量全部同时转发到10.0.0.2:80及10.0.0.3:80即可,但是前提应该是vob1和vob2两台虚拟机运行的程序不同或目录不同,如访问的是index.php,则会同时访问两台虚假机,但是一台有正常回应,而另一台会找不到相应文件,此时会同时返回相关状态到你的客户端。
您最懂我多个虚拟机vbox如何解决端口定向实现一个IP访问80端口系
统结构
1 基础OS平台 ubuntu 17.04 Server 安装了VBOX5.20
2 vbox01 windows2003Server 安装了IIS和ACCESS 支持ASP类的网站 开放端口813 VBOX02 ubuntu16.04 Server 安装了APACHE2+PHP+mysql 支行PHP类的网站 开放端口80
所有域名指向vbox02如果是php类的就直接在vbox02上运行,如果是asp类的。我只好做个链接跳转到vbox01的82端口。
问题: 现在所有的ASP的网站都变成 http://www.b2XXX.cc:82/index.asp之类 都加了个端口。
请问各位大神。我如何能够实现不要这个82的端口。实现能够两个VBOX或者多个VBOX机运营网站。
(1)考虑过将ASP的网页在APACHE2上加个ASP模块运营。但是看了一下不太稳定,放弃了。还是想在win2003下搞IIS支持为好。

在此表示 感谢
如果成功解决端口定向的问题,我愿意免费给200M网站空间2个域名支持。绝对承诺。

(目前我只有一个IP地址)
主机IP 203.8x.87.23x. 实际的公网IP。主机什么都没有安装 只是做了nat 安装了虚拟机两台
虚拟机IP是10.0.2.15. 10.0.2.16
客户访问我的域名 http://www.abc1.com http://www.abc2.com dns服务器解析指向我的主机IP 203.8x.87.23x.
我希望abc1.com 可以转向虚拟机10.0.2.15
abc2.com 可以转向虚拟机10.0.2.16
并且地址栏还是域名不能带端口 默认都是80端口
如果这样是不是需要主机安装apache 或者nginx?
我之前做法就是
nat 主机 虚拟机1。端口80. 虚拟机1安装Apache。默认域名访问其实全部指向虚拟机1 然后Apache的域名列表执行abc2.com地址跳转 变成abc2.com:81相当于到虚拟机2的IIS了 但是端口81 遗憾
nat 主机 虚拟机2 端口81。虚拟机2安装IIS


实现方法概念:
(1)主平台不用做任何配置 vbox做网络地址转换(NAT)
(2)VBOX1 NAT 外网IP203.8x.1xx.17x :WEB 80 FTP端口 20-21,6044-6054 全转换向10.0.2.15 选中虚拟机-设置-网络-高级-端口转发
(3)vbox2 nat 81---->80
(4)vbox3 nat 86---->80 86,110 ,25,143 全部转过去 这个是邮件服务器
(上述配置NAT是在虚拟机管理器上配置)

apache2要加载 proxy模块(mods)
apache2做80的域名listen然后对于IIS的那些域名就转向vbox2:82 对于不是的全部转向vbox1:80
在#vim /etc/apache2/sites-available/000-default.conf

ServerAdmin [email protected]
ServerName mail.abc2.cc
ProxyPass / http://mail.abc2.cc:86/

#DocumentRoot /var/www/html 注释这个换成想要的目录做WEB 这里是指本要的网站,不是邮件服务器的地址哟。切记 不要乱了。
DocumentRoot /home

非常感谢各位帮助,请发邮件给我[[email protected]][url]mailto:[email protected][/url]或者加我微信beyondtek索取免费的域名解析和网站空间 500M/人 IDC 托管的实体主机服务器,100M 共享速度上骨干网接入。
附件
WEB-NAT.PNG
虚拟机配置详细NAT
上次由 b2sun 在 2017-05-07 10:47,总共编辑 4 次。
----------------------------
一波未平 一波又起
人生浮动 心随云飘
----------------------------
智能达人
http://b2sun.cc
回复

回到 “服务器基础应用”