为了测试,我有一个简单的控制器来检查客户端的远程IP地址:
defmodule AppWeb.PageController do
use AppWeb, :controller
def index(conn, _params) do
IO.inspect conn.remote_ip
render conn, "index.html"
end
end
在我的生产环境中使用phx.server
进行测试时,conn.remote_ip
包含预期的客户端IP地址,格式如下:
{0, 0, 0, 0}
在运行与Distillery一起打包的二进制文件时,conn.remote_ip
会返回类似这样的内容,即使对于具有不同IP地址的多个远程客户端,它每次都会返回相同的内容:
{0, 0, 0, 0, 0, 12345, 12345, 12345}
我的应用程序不是在反向代理后面,所以还有什么可能导致这种情况发生?