确认Apache中的设置

概述

在指定负载均衡器时,由于对conf文件中的定义不太理解,我在简单的环境中进行了确认。触发原因是在指令中,无法使用/符号,这个情况让我感到有些困惑。例如:

环境

    • macOS sierra(Host)

 

    • Docker

apache 2つ
loadbalancer 1つ

1. 配置 Apache 環境

从DockerHub借用镜像。

拉取 eboraas/apache 的 Docker 镜像。

安装vim以进行文件编辑。

apt-get update
apt-get install vim

准备用于确认的HTML代码

由于默认情况下/var/www/html是主目录,所以我们直接使用它。

<html>
<body>
It's work!! [apache#one]
</body>
</html>

为了确认文件夹下的显示情况,创建一个适当的文件夹并放置HTML文件。

<html>
<body>
[apache#one] /dir_a/dir_b/index.html
</body>
</html>

同样地,配置第二个Apache环境。

负载均衡的环境准备。

从DockerHub借用镜像。

使用Docker命令拉取corba/load-balancer容器镜像

从负载均衡器的一侧进行HTML显示确认。

# curl http://172.17.0.22/
<html>
<body>
It's work!! [apache#one]
</body>
</html>

# curl http://172.17.0.22/dir_a/dir_b/
<html>
<body>
[apache#one] /dir_a/dir_b/index.html
</body>
</html>

# curl http://172.17.0.23/
<html>
<body>
It's work!! [apache#two]
</body>
</html>

# curl http://172.17.0.23/dir_a/dir_b/
<html>
<body>
[apache#two] /dir_a/dir_b/index.html
</body>
</html>

负载均衡器配置测试 #1

ProxyPass /balancer-manager !
ProxyPass / balancer://cluster/ lbmethod=bybusyness
<Proxy balancer://cluster/>
  # Balancer members
  BalancerMember http://172.17.0.22:80 route=1
  BalancerMember http://172.17.0.23:80 route=1
</Proxy>
<Location /balancer-manager>
  SetHandler balancer-manager
</Location>

点击更新按钮以确认切换。

スクリーンショット 2016-11-06 2.41.08.png
スクリーンショット 2016-11-06 2.40.19.png

负载均衡器配置测试 #2

ProxyPass /balancer-manager !
ProxyPass / balancer://cluster/dir_a/dir_b/ lbmethod=bybusyness
<Proxy balancer://cluster/dir_a/dir_b/>
  # Balancer members
  BalancerMember http://172.17.0.22:80 route=1
  BalancerMember http://172.17.0.23:80 route=1
</Proxy>
<Location /balancer-manager>
  SetHandler balancer-manager
</Location>

确认这边也能顺利切换。

スクリーンショット 2016-11-06 2.49.33.png
スクリーンショット 2016-11-06 2.49.57.png

结果似乎并不是斜杠“/”不能在指令中使用…

在<代理负载平衡器://~~>中,我们确认了即使在路径定义中包含“/”,它仍能正常工作。然而,由于我们还未找到实际问题的根本原因,所以仍需继续调查…

请提供更多上下文。

    http://qiita.com/maa0984/items/eb182fa480650b3af3bf
bannerAds