2

我目前有多个使用标准 Apache 虚拟主机配置设置的网站。

我的问题是如何设置使用 Opa 构建的多个网站,以便它们像使用 Apache 虚拟主机一样运行。

前任。当用户输入 www.example1.com 时,服务器将用户重定向到 OpaApp1 或者当用户输入 www.example2.com 时,服务器将用户重定向到 OpaApp2

4

2 回答 2

1

您可以使用HttpRequest.get_host()恢复请求的主机。

一个示例应用程序:

OpaApp1 = {{
  start(uri) = Resource.html("Hello", <>World 1</>)
}}

OpaApp2 = {{
  start(uri) = Resource.html("Hello", <>World 2</>)
}}

@server
start(uri:Uri.relative) =
  match HttpRequest.get_host()
  {some={some="www.example1.com"}} -> OpaApp1.start(uri)
  {some={some="www.example2.com"}} -> OpaApp2.start(uri)
  _ -> Resource.error_page("Error", <>Bad gateway</>, {bad_gateway}) // default

server = Server.simple_dispatch(start)
于 2011-12-18T15:33:44.383 回答
0

我不是 Apache 大师,但我想您可以为不同的端口配置不同的域,在这种情况下,您可以在不同的端口(--port交换机)上运行不同的 Opa 应用程序。这可能比仅仅拥有一个全球应用程序更加模块化。

于 2011-12-18T16:28:18.393 回答