【发布时间】:2019-02-20 18:19:13
【问题描述】:
我正在尝试使用 docker/docker-compose 来实现一个网络服务器,其中我的部分页面由 PHP 提供,部分由 Java 提供。因此,当我连接到 localhost/php-service 时,我会被路由到运行 PHP 服务器的容器,而连接到 localhost/java-service 会将我重定向到运行 Java 网络服务器的容器。
我的第一个方法可能是错误的,是让一个单独的容器运行 apache,并使用 mod-rewrite 将我重定向到适当的容器。在尝试任何花哨的东西之前,我只是尝试使用其 ip 重定向到我的 php 服务器容器:
#.htaccess
RewriteEngine on
RewriteRule .* http://192.168.128.6/ # <- IP address of container with webserver
这不起作用,因为我的浏览器只是将 url 重写为“192.168.128.6”,然后抱怨找不到 IP。显然重写引擎只是告诉浏览器去别的地方,它实际上并没有转发请求。我可以为每个服务器分配一个不同的端口,并让重写引擎转发到适当的端口,但我觉得必须有一种更优雅的方法来解决这个问题。我一直在考虑使用 iptables,但它也不是适合这项工作的工具...
提前感谢您的帮助。
【问题讨论】:
标签: .htaccess docker docker-compose url-routing