如何配置Phoenix以将客户端的Host-header用作静态资产的基本URL

时间:2018-08-30 07:13:34

标签: elixir phoenix-framework

我有一个Phoenix应用程序,该应用程序位于本地网络中的设备上。我希望能够通过本地mDNS域(hostname.local)和反向代理的远程访问域(hostname.example.tld)访问此应用程序。

当我将端点URL配置为任何内容时,静态资产将始终链接到该域。

例如考虑此配置:

config :ui, MyAppWeb.Endpoint,
  url: [host: "hostname.local"]

使用curl http://hostname.example.tld检索应用程序将如下所示:

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>StackOverflow Demo</title>
    <link rel="stylesheet" href="http://hostname.local/css/app.css"/>
  </head>
  <body>
    Hello World!
    <script type="text/javascript" src="http://hostname.local/js/app.js"></script>
  </body>
</html>

不配置url键只会假定默认值为localhost。

如何配置Phoenix以仅将客户端请求的Host标头用作基本URL? Django有一个配置,您可以在其中定义应用程序将响应的多个允许的Host标头。凤凰有类似的东西吗?

0 个答案:

没有答案