首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单静态IP背后不同机器上的多个webservers服务器

单静态IP背后不同机器上的多个webservers服务器
EN

Stack Overflow用户
提问于 2016-02-29 19:04:54
回答 1查看 111关注 0票数 2

我遇到了这样一种情况:我工作的公司希望把它的网络服务器分散到虚拟机上,而不是依赖一个物理盒来完成一切。我们当前的设置如下所示:

代码语言:javascript
复制
example.com → static IP → internal firewall (only 1 machine may receive port 80 traffic) → 192.168.1.100 (our production box)

example1.com, example2.com, etc... → same as above

我们的产品盒运行Apache,并使用VirtutalHost将传入的名称分离到适当的本地文件夹。这可以像预期的那样工作,但出于性能和安全考虑,我们希望将一些主机从生产中移开。类似于以下设置:

代码语言:javascript
复制
*.example.com → static IP → firewall → 192.168.1.100 (Production)
jira.example.com -> static IP -> firewall -> 192.168.1.100 -> 192.168.1.120
*.example1.com → static IP → firewall → 192.168.1.100 → 192.168.1.111 (Wordpress-1)
*.example2.com → static IP → firewall → 192.168.1.100 → 192.168.1.112 (Wordpress-2)
etc…..

我们对192.168.1.100的VirtualHost文件进行了类似的尝试:

代码语言:javascript
复制
<VirtualHost *:*>
    ServerName example.com
      ...
</VirtualHost>

<VirtualHost jira.example.com:*>
    ServerName jira.example.com
      ...
    ProxyPass         /  http://192.168.1.120:80/
    ProxyPassReverse  /  http://192.168.1.120:80/
</VirtualHost>

<VirtualHost example1.com:*>
    ServerName example1.com
      ...
    ProxyPass         /  http://192.168.1.111:80/
    ProxyPassReverse  /  http://192.168.1.111:80/
</VirtualHost>

<VirtualHost example2.com:*>
    ServerName example2.com
      ...
    ProxyPass         /  http://192.168.1.112:80/
    ProxyPassReverse  /  http://192.168.1.112:80/
</VirtualHost>

这部分奏效了--我能够使用example1.com与Wordpress-1对话。然而,重定向会导致超链接指向example.com,这会破坏站点。

当我研究DNS时,它似乎是一个更好的选择。是否有可能让域名提供程序(在本例中为GoDaddy)指向防火墙后面的DNS服务器,然后适当地引导通信量?就像这样:

代码语言:javascript
复制
hostname → static IP → firewall → 192.168.1.100 (DNS) → webserver assigned to hostname

example.com:
NS  ns1.example.com.
ns1.example.com.    A   192.168.1.100
www A   192.168.1.100
jira.example.com. A 192.168.1.120   

example1.com:
NS  ns1.example1.com.
ns1.example1.com.   A   192.168.1.100
www A   192.168.1.111   

example2.com:
NS  ns1.example2.com.
ns1.example2.com.   A   192.168.1.100
www A   192.168.1.112
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-01 21:00:30

数字海洋指南解释了如何使用Apache2:proxy-extension配置代理

在做了一些清理之后,我找到了这个问题。我的虚拟主机之一使用的是443,但其他的没有。然而,Wordpress希望使用https作为管理员登录名,该登录名是重定向到使用SSL的主机。基本上,当涉及到服务器时,SSL是一个全部或根本不存在的游戏。假设您只使用端口80,下面的操作就可以了:

代码语言:javascript
复制
<VirtualHost *:80>
    ServerName example.com
      ...
</VirtualHost>

# Note: This assumes your Jira installation is running on port 80 
<VirtualHost *:80>
    ServerName jira.example.com
      ...
    ProxyPass         /  http://192.168.1.120
    ProxyPassReverse  /  http://192.168.1.120
</VirtualHost>

<VirtualHost *:80>
    ServerName example1.com
      ...
    ProxyPass         /  http://192.168.1.111
    ProxyPassReverse  /  http://192.168.1.111
</VirtualHost>

<VirtualHost *:80>
    ServerName example2.com
      ...
    ProxyPass         /  http://192.168.1.112
    ProxyPassReverse  /  http://192.168.1.112
</VirtualHost>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35707501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档