如何让 Phoenix 监听 IPv6?

2023-12-01

我正在努力寻找有关让 Phoenix(以及 Cowboy 和 Ranch)同时监听 IPv4 和 IPv6 的信息。

我在 Ubuntu 16.04 的 VPS 上运行。它同时具有 IPv4 和 IPv6 地址。 跑步时netstat -tulpn它表明beam仅侦听 IPv4,并使用 Phoenix 配置中指定的端口。 而其他进程,例如epmd,能够侦听 IPv4 和 IPv6。

我尝试指定一个端口,例如"::4000" in my config.exs,但由于无法解析为整数而崩溃。

有人能指出我正确的方向吗?我是否需要以某种方式添加自定义牛仔侦听器?

我宁愿不必在前面运行 Nginx 来监听 IPv6 流量。

我尝试过的配置:

config :my_app, MyApp.Endpoint,
  http: [port: "[::]:4000"]

堆栈跟踪(看起来 Phoenix 仅需要一个整数端口):

** (Mix) Could not start application my_app: MyApp.start(:normal, []) returned an error: shutdown: failed to start child: MyApp.Endpoint
    ** (EXIT) shutdown: failed to start child: Phoenix.Endpoint.Server
        ** (EXIT) an exception was raised:
            ** (ArgumentError) argument error
                :erlang.binary_to_integer("[::]:4000")
                (phoenix) lib/phoenix/endpoint/server.ex:32: Phoenix.Endpoint.Server.to_port/1
                (phoenix) lib/phoenix/endpoint/server.ex:28: Phoenix.Endpoint.Server.default/3
                (phoenix) lib/phoenix/endpoint/server.ex:17: anonymous fn/5 in Phoenix.Endpoint.Server.init/1
                (elixir) lib/enum.ex:1623: Enum."-reduce/3-lists^foldl/2-0-"/3
                (phoenix) lib/phoenix/endpoint/server.ex:15: Phoenix.Endpoint.Server.init/1
                (stdlib) supervisor.erl:294: :supervisor.init/1
                (stdlib) gen_server.erl:328: :gen_server.init_it/6
                (stdlib) proc_lib.erl:247: :proc_lib.init_p_do_apply/3

这也是凤凰{:phoenix, "~> 1.2.0"}和牛仔{:cowboy, "~> 1.0"}


根据https://hexdocs.pm/phoenix/endpoint.html你也可以只使用:inet6。这对我有用:

config :my_app, MyApp.Endpoint,
  http: [:inet6, port: 4000],
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让 Phoenix 监听 IPv6? 的相关文章

  • Android 从主机名获取 ipv6 地址

    我正在尝试从 Android 设备上的主机名获取 IPv6 地址 我的设备是 Nexus 7 和 6 0 1 版本 下面是我使用的API InetAddress inets InetAddress getAllByName hostname
  • 如何在SQL中计算IPv6 CIDR路由前缀?

    我一直致力于使用在 SQL Server 2012 实例上运行的 T SQL 从 IPv4 和 IPv6 地址范围生成 CIDR 一般来说 我们的应用程序 数据库外部 负责计算 CIDR 但我目前需要在数据库中进行 CIDR 计算 由于 I
  • Phoenix 框架中的可选路由参数

    我已经开始自学凤凰框架 http www phoenixframework org 他们的文档非常好 然而 在指定可选路由参数时 我遇到了障碍 这Phoenix 框架路由文档 http www phoenixframework org do
  • 如何让表单和交易在phoenix+ecto中发挥良好?

    我正在玩 Phoenix Ecto 我偶然发现了一些对我来说不习惯的东西 我有一个代表一个表格Invitation 创建邀请函时 我们还需要创建一个User显然我希望两者都发生在一个事务中 这样我就可以保持数据的一致性 在我的表格中我要求n
  • 从 Dns.GetHostEntry() 获取 IPv4 地址

    我这里有一些代码在 IPv4 机器上运行得很好 但在我们的构建服务器 IPv6 上却失败了 简而言之 IPHostEntry ipHostEntry Dns GetHostEntry string Empty GetHostEntry 的文
  • 如何将 IPV6 地址转换为 IPV4 地址?

    我有使用 IPv4 地址的应用程序 它存储它们很长 因此它只理解 IPv4 地址 是否可以使用Java将IPv6地址转换为IPv4地址 While IPv4 地址范围有 IPv6 等效项 https en wikipedia org wik
  • 使用 PHP 检查 IPv4/IPv6 地址是否已启动

    我有一个 IPv4 地址 前任 172 19 20 21 我曾经这样做过 fs fsockopen ip port errno errstr 3 if fs error SSC is down return Redirect to gt w
  • 映射到 MySql BIGINT 的 Ecto 或 Elixir 数据类型

    我是 Elixir 和 Phoenix 的新手 学习 6 个月 我有一种情况 我想将 Ecto 模型的字段 不是主键或表 ID 分配给 MySql 中的 BIGINT 我意识到当你创建一个 Ecto 模型时 MySql 表中该模型的 ID
  • Phoenix:订购查询集

    我 一个菜鸟 为了好玩而玩弄 Phoenix 框架并构建一个小型 Twitter 克隆 我一切正常 但是 我想按updated at字段 升序 正如您从 tweet controller 中看到的 我尝试过使用 order by 子句 但这
  • 用于将长 IPv6 地址转换为其压缩形式的 Java 库 [重复]

    这个问题在这里已经有答案了 我想知道是否有一个库可以用来将长 IPv6 地址 例如 2002 9876 57AB 0000 0000 0000 0000 0001 的表示形式转换为压缩的 IPv6 形式 以本例 2002 9876 57AB
  • Ecto 模型 - select 中的子查询

    我需要使用 Ecto 进行 SQL 查询 SELECT users select count 0 from money transactions where from id users id AND created at gt 2016 1
  • 如何完全禁用 Elixir/Phoenix 生成器和模型中的上下文?

    凤凰城有一个发电机 mix phx gen html Accounts User users name string age integer 我不想为我的模型使用上下文 也不想提供它的名称 如何禁用它 您仍然可以使用 1 2 及更早版本中的
  • Ecto 中按日期时间查询

    这是我尝试过的 date Ecto DateTime from erl calendar universal time query gt where record record deadline gt date 我也尝试过 date Ect
  • 用于验证 InetSocketAddresses 的正则表达式(ipv4/v6 + 端口地址)

    我在寻找testedipv4 和 ipv6 的正则表达式InetSocket地址 http download oracle com javase 6 docs api java net InetSocketAddress html toSt
  • 如何编写在日期时间字段上执行 group_by MONTH 的 Ecto 查询

    我正在执行 ecto 查询并尝试进行分组q created date 此查询成功执行了 GROUP BY 但它是按秒执行的 我正在尝试按月分组 MYQUERY gt group by q q created date q id 有没有类似的
  • Phoenix 中的 web/static 和 priv/static 有什么区别?

    我对长生不老药和凤凰是新手 现在我在凤凰城的静态资产方面遇到了麻烦 我想在我的页面中添加一个js文件 我在我的模板中添加以下代码 js test js gt gt 然后创建一个js文件web static js test js 但是 我收到
  • 如何在iOS的Delphi程序中使用IPv6协议

    我尝试在我的移动程序中使用 IPv6 协议 我的服务器位于 NAT 后面的 LAN 内 在服务器上我使用IP端口3000 我已经组织了从路由器端口 45500 到服务器端口 3000 的虚拟服务器 端口转发 在服务器上 我运行 ipconf
  • 与 ecto 的逆多态性

    当前的 Ecto 文档http hexdocs pm ecto Ecto Schema html http hexdocs pm ecto Ecto Schema html仅解释如何构建belongs to多态关联的类型 当多态Commen
  • Phoenix:在模板内分配值的渲染模板

    我正在尝试使我的应用程序干燥且模块化 但是 当我尝试将一个组件 小模板 放入另一个模板 较大的模块 中 该组件接收调用 实例化 时传递的动态值时 我收到此错误 assign conn not available in eex templat
  • 将 IPv4 应用程序移植到双栈 IPv4/IPv6

    实际上 我正在将 IPv4 服务器应用程序移植到 Linux 上的双栈 IPv4 IPv6 应用程序 我使用以下方法解决了基本功能 serv addr sin6 family AF INET6 serv addr sin6 addr in6

随机推荐

  • 如何将Hive连接到asp.net项目

    你好 我对 Hadoop 很陌生 我已将 Microsoft HDInsight 安装到本地系统 现在我想连接到 hive 和 HBase 但用于 HIVE 连接 我必须指定连接字符串 端口 用户名 密码 但我无法弄清楚如何获得这个值 我尝
  • Git:在提交/推送之前运行过滤器?

    有没有办法在提交之前通过过滤器运行更改的文件 我希望确保文件遵循项目的编码标准 我还想在提交 推送实际发生之前编译并运行一些测试 所以我知道存储库中的所有内容实际上都有效 预提交挂钩 继续阅读git钩子 Git 书籍有一个example例如
  • 将小计添加到 Pandas Groupby

    我正在寻找一种更干净的方法来将小计添加到 Pandas groupby 中 这是我的数据框 df pd DataFrame Category np random choice Group A Group B 50 Sub Category
  • 需要在 XNA 4.0 中使用实例的帮助

    我来询问有关 XNA 实例化的问题 我是一名初级 XNA 开发人员 最近才从 2D 游戏转向 3D 游戏 我正在尝试绘制大量仅由代码中的顶点组成的立方体 正如人们可能怀疑的那样 绘制大量这些立方体会给我的计算机带来相当大的压力 当我寻找一种
  • 在 where 子句中使用 php 变量时 MySQL 查询不起作用

    我是 PHP 和 MySQL 的新手 我正在尝试制作一个简单的搜索表单 我希望使用它根据表单中输入的输入文本显示数据库的结果 我的代码是这样的 Form php
  • Chrome 上字体大小渲染不一致的问题 [已关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 I am having an css issue on my site The font size is not consistent across all pages The di
  • 通过 postValidate 进行 JSF 跨字段验证,无需在支持 bean 中按名称查找组件

    我正在构建一个登录表单复合组件 使用它的页面将传递一个事件处理程序来验证用户名和密码 通常 不使用复合组件 当我们通过以下方式执行跨字段验证时postValidate 事件处理程序必须按名称查找字段的组件 验证器最好不要这样做 因为这些是应
  • 使用 Locust 每秒预定义请求数

    在查看负载测试工具时 我发现了 Locust 并立即发现它对于 Python 爱好者来说很有吸引力 但我不完全确定我是否可以用它实现以下场景 我的任务是使用真实流量对 REST API 进行负载测试 我从生产 Apache 日志中提取了 5
  • Html Agility Pack - 循环行和列

    如何循环遍历具有属性 id 或名称的表和行 以获取每个 td 单元格深处的内部文本 我从事 asp net c 和最新的 html 敏捷包方面的工作 请指导 谢谢 一个 html 文件有几个表 其中之一具有属性 id main part 在
  • Python 中的匹配模式

    我有一个 XML 文件 其中包含以下字符串
  • numberOfSectionsInTableView 不起作用

    import UIKit class exploreViewController UIViewController UITableViewDelegate UITableViewDataSource IBOutlet weak var se
  • 从 VBScript 中的函数返回引用

    我对 VBScript 已经抓狂了 我到底如何才能将引用作为函数的返回值传递 目前我的代码如下所示 Set objUser FindUser bendert REM Searches Directory for the User Funct
  • RequireJS 有时无法加载 jQuery

    我的项目结构如下 root lib js 在我的 js 文件夹中 我有一个 require config 文件 它引用 lib 目录中的 javascript 文件 就像这样 require config paths jquery lib
  • 使用 sed 移动文本文件中的匹配行

    我正在尝试关注该帖子 如何使用正则表达式匹配 bash 脚本 将文件中的特定行移动到另一个位置 到我的示例文件 asdasd0 SRC OUT DIR a b c d e f g h asdasd2 asdasd3 asdasd4 DEFA
  • ASP.NET 5 客户端依赖管理 - Bower

    我正在尝试使用 MVC 6 的新 ASP NET 5 并且使用 Bower 来管理所有客户端依赖项 一切正常 但我有一个问题 当我添加依赖项时 假设是 jQuery 它添加了 dist and src以及 Bower 配置文件 lib的文件
  • 如何获取模板中 Meteor.call 函数的结果

    我正在尝试制作一个在 Meteor 客户端中使用的分页功能 因此我需要知道服务器上的记录数 在服务器上 在 server bootstrap coffee 中 我有以下代码 Meteor methods ContactsCount gt C
  • 未使用 JavaScript 正确设置 Internet Explorer cookie

    我正在尝试保存 恢复回发上的滚动位置 我的代码适用于 Firefox 和除 Internet Explorer 之外的所有主要浏览器 function saveScrollPosition Save the cookie if the re
  • PHP通过html标签分解字符串

    假设字符串 a 成立 p Phasellus blandit enim eget odio euismod eu dictum quam scelerisque p p Sed ut diam nisi p p Ut vestibulum
  • ssis 中的参数绑定

    如何使用执行包任务动态地将值传递给子包变量 我需要同时从另一个包 父包 调用一个包 子包 在每次调用中 我都需要将不同的值传递给子包变量 I have tried using parameter bindings in Execute Pa
  • 如何让 Phoenix 监听 IPv6?

    我正在努力寻找有关让 Phoenix 以及 Cowboy 和 Ranch 同时监听 IPv4 和 IPv6 的信息 我在 Ubuntu 16 04 的 VPS 上运行 它同时具有 IPv4 和 IPv6 地址 跑步时netstat tulp