V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
longquanwo
V2EX  ›  问与答

一个外网 ip 地址,内网有三台服务器,三个域名,能实现吗

  •  
  •   longquanwo · 2015-01-07 22:41:44 +08:00 · 9717 次点击
    这是一个创建于 3637 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一个外网ip地址

    内网有三台Linux主机

    有三个域名分别解析到对应的主机上面,都要使用80端口

    现在不晓得怎么实现

    16 条回复    2015-01-08 00:48:26 +08:00
    cdwyd
        1
    cdwyd  
       2015-01-07 22:46:50 +08:00
    你只能把三个域名都解析到那个外网IP上,没有外网IP的可以用放 数据库,做运算什么的
    lecher
        2
    lecher  
       2015-01-07 22:48:17 +08:00
    你需要在有外网ip的服务器上面跑一个web server做代理, nginx也好,apache也好,IIS也好。
    做一下域名监听和转发请求到内网地址就可以。

    建议nginx。
    longquanwo
        3
    longquanwo  
    OP
       2015-01-07 22:49:12 +08:00
    @cdwyd 关键是我现在不知道怎么实现啊,一个公网ip 80端口只能映射一台内网的主机,还有两台咋办
    digimoon
        4
    digimoon  
       2015-01-07 22:49:14 +08:00   ❤️ 1
    反向代理?
    jacy
        5
    jacy  
       2015-01-07 22:52:25 +08:00   ❤️ 1
    如二楼所说,用nginx反代,搜索一下怎么配置吧,很多结果
    ccseven
        6
    ccseven  
       2015-01-07 22:53:20 +08:00   ❤️ 1
    三个域名---》---同一个公网ip------对应内部Ip-A--》--分发到内部三台真实server -1-2-3


    IP-A 通过进来的域名判断,然后分发1或2或3

    你可以按这个思路试试!(因为IP-A如果是硬件负载均衡就可以)
    ys0290
        7
    ys0290  
       2015-01-07 23:09:48 +08:00 via iPad
    其中一台做主服务器,除了本有功能再加个域名转发功能
    lincanbin
        8
    lincanbin  
       2015-01-07 23:12:48 +08:00
    @longquanwo 其中一台负载比较低的用Nginx作前端代理,然后写好config绑定好域名在内网反向代理另外两台。
    longquanwo
        9
    longquanwo  
    OP
       2015-01-07 23:13:39 +08:00
    @ccseven IP-A我可以使用负载均衡 但是具体设置 我不晓得怎么配置,能留一个联系方式请教吗
    Kuro
        10
    Kuro  
       2015-01-07 23:19:34 +08:00 via Android
    用nginx实现proxy_pass 炒鸡简单
    ccseven
        11
    ccseven  
       2015-01-07 23:40:49 +08:00
    @longquanwo 如果是这三 Radware array F5 就会。其他“软”方案 你还是找其他热心朋友吧,那不是我专长 (-。-;)
    xsn
        12
    xsn  
       2015-01-07 23:44:00 +08:00
    内网需要一个前端
    xsn
        13
    xsn  
       2015-01-07 23:46:49 +08:00
    nginx 前端配置比较简单

    server {
    listen 80;
    server_name a.com;
    proxy_pass http://192.168.1.23;
    }
    server {
    listen 80;
    server_name b.com;
    proxy_pass http://192.168.1.45;
    }
    server {
    listen 80;
    server_name c.com;
    proxy_pass http://192.168.1.67;
    }
    longquanwo
        14
    longquanwo  
    OP
       2015-01-07 23:59:20 +08:00
    @xsn 超级感谢,把ip换成我的服务器的、name c.com换成对应的域名。是吧 感谢
    xsn
        15
    xsn  
       2015-01-08 00:30:50 +08:00   ❤️ 1
    @longquanwo 在内网需要架设或使用3台其中的一台做前端, 如果是通过路由方式 80端口映射到前端的IP就可以, 上面的同学们说的很清楚了.
    Kilerd
        16
    Kilerd  
       2015-01-08 00:48:26 +08:00 via Android   ❤️ 1
    先内网ip做一下映射,然后域名再同时绑定外网ip就好啦
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   865 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 20:29 · PVG 04:29 · LAX 12:29 · JFK 15:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.