【问题标题】:In a Phoenix application, what is the difference between the :port key of the :http and :url configurations?在 Phoenix 应用程序中,:http 和 :url 配置的 :port 键有什么区别?
【发布时间】:2017-05-02 17:07:02
【问题描述】:

我目前正在使用 Phoenix 应用程序,并且在修改我的 /config/* 文件时遇到了这个问题。

目前我的 Endpoint 的配置包含以下内容:

config :my_app, MyApp.Endpoint,
  http: [port: 8080],
  url: [host: "example.com", port: 80]
...

在阅读了the :http configthe :url config 的两个文档后,我仍然不清楚:

每个 :port 配置的用途是什么?它们有何不同?

【问题讨论】:

    标签: elixir phoenix-framework cowboy


    【解决方案1】:

    :url 中的 port 用于在应用程序中生成 URL(如 _url 路由器助手),而 :http 中的 port 是应用程序将 HTTP 服务器绑定到的 TCP 端口。这很有用,因为您的可公开访问的 URL 很可能是端口 80(默认 HTTP 端口)或 443(默认 HTTPS 端口),而您的应用程序可能在反向代理、负载均衡器或缓存服务器(如 Nginx)后面的另一个端口上运行,HAProxy,清漆)。如果两者都只有一种配置,您将无法在服务器的一个端口上托管多个应用程序,同时仍会在 _url 路由器帮助程序中生成有效的 URL。

    【讨论】:

    • 感谢您的回答!我认为您的意思是 虽然 :http 中的端口是 TCP 端口 ...
    猜你喜欢
    • 2013-04-13
    • 2011-08-10
    • 1970-01-01
    • 2016-06-17
    • 2020-09-03
    • 2020-10-29
    • 1970-01-01
    • 2015-10-01
    • 1970-01-01
    相关资源
    最近更新 更多