我目前有多个使用标准 Apache 虚拟主机配置设置的网站。
我的问题是如何设置使用 Opa 构建的多个网站,以便它们像使用 Apache 虚拟主机一样运行。
前任。当用户输入 www.example1.com 时,服务器将用户重定向到 OpaApp1 或者当用户输入 www.example2.com 时,服务器将用户重定向到 OpaApp2
我目前有多个使用标准 Apache 虚拟主机配置设置的网站。
我的问题是如何设置使用 Opa 构建的多个网站,以便它们像使用 Apache 虚拟主机一样运行。
前任。当用户输入 www.example1.com 时,服务器将用户重定向到 OpaApp1 或者当用户输入 www.example2.com 时,服务器将用户重定向到 OpaApp2
您可以使用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)
我不是 Apache 大师,但我想您可以为不同的端口配置不同的域,在这种情况下,您可以在不同的端口(--port
交换机)上运行不同的 Opa 应用程序。这可能比仅仅拥有一个全球应用程序更加模块化。