1

这可能是一个愚蠢的问题,但是我需要完成任何额外的步骤才能将 phoenix liveview 应用程序部署到 heroku?从官方文档凤凰应用程序部署成功,但将同一页面转换为实时视图导致页面无限重新加载我在heroku日志上得到的错误是:

2022-01-18T07:35:12.424013+00:00 heroku[路由器]: at=info method= GET path="/" host=fast-fortress-60216.herokuapp.com request_id=0bf752c3-185a-44d4-84ce- 7004f7031984 fwd="27.34.20.173" dyno=web.1 连接=0ms 服务=2ms 状态=200 字节=4941 协议=https
2022-01-18T07:35:13.895958+00:00 heroku[路由器]: at=info method= GET path="/assets/app-097a5c6ca9e10ff4881312b83e54a14f.css?vsn=d" host=fast-fortress-60216.herokuapp. com request_id=8d4e402d-cf16-4e4d-8b26-3bdcbbc6186c fwd="27.34.20.173" dyno=web.1 connect=0ms service=2ms status=200 bytes=15612 protocol=https
2022-01-18T07:35:15.191409+00:00 heroku[路由器]: at=info method= GET path="/live/websocket?_csrf_token=SC9hAXBiKRoOLDYALRkhCT8EBzk8LT0syDSs70xHbMfQfZyowhVUrjDs&_track_static%5B0%5D=https%3A%2F2F2% 60216.herokuapp.com%2Fassets%2Fapp-097a5c6ca9e10ff4881312b83e54a14f.css%3Fvsn%3Dd&_track_static%5B1%5D=https%3A%2F%2Ffast-fortress-60216.herokuapp.com%2Fassets%2Fapp-a670ca05a10bcaada1c4842b40be19a2.js%3Fvsn%3Dd&_mounts= 0&vsn=2.0.0" host=fast-fortress-60216.herokuapp.com request_id=e8ef08c8-d80a-4a79-8b73-d21cc5e47d2c fwd="27.34.20.173" dyno=web.1 connect=0ms service=1ms status=403 bytes =195 协议=https
2022-01-18T07:35:15.191230+00:00 app[web.1]: 07:35:15.191 [error] 无法检查 Phoenix.Socket 传输的来源。
2022-01-18T07:35:15.191243+00:00 应用 [web.1]:
2022-01-18T07:35:15.191244+00:00 app[web.1]:请求来源:https://fast-fortress-60216.herokuapp.com
2022-01-18T07:35:15.191244+00:00 应用 [web.1]:
2022-01-18T07:35:15.191245+00:00 app[web.1]:当您尝试与
2022-01-18T07:35:15.191246+00:00 app[web.1]:与您在配置中配置的主机不同的主机/
2022-01-18T07:35:15.191246+00:00 应用程序 [web.1]:文件。例如,在开发中配置主机
2022-01-18T07:35:15.191246+00:00 app[web.1]: to "localhost" 但您可能正尝试从
2022-01-18T07:35:15.191247+00:00 应用程序 [web.1]:“127.0.0.1”。要解决此问题,您可以:
2022-01-18T07:35:15.191247+00:00 应用 [web.1]:
2022-01-18T07:35:15.191248+00:00 app[web.1]: 1. 将 [url: [host: ...]] 更新为您在
2022-01-18T07:35:15.191248+00:00 app[web.1]:当前环境的配置文件(推荐)
2022-01-18T07:35:15.191248+00:00 应用 [web.1]:
2022-01-18T07:35:15.191248+00:00 app[web.1]: 2. 在配置时传递 :check_origin 选项
2022-01-18T07:35:15.191249+00:00 app[web.1]:端点或在您的
2022-01-18T07:35:15.191249+00:00 app[web.1]:UserSocket 模块,明确概述了哪些来源
2022-01-18T07:35:15.191250+00:00 app[web.1]:允许:
2022-01-18T07:35:15.191251+00:00 应用 [web.1]:
2022-01-18T07:35:15.191251+00:00 app[web.1]: check_origin: ["https://example.com",
2022-01-18T07:35:15.191251+00:00 app[web.1]: "//another.com:888", "//other.com"]

我是否必须安装额外的构建包或在我的配置中进行一些更改?

4

1 回答 1

1

我的坏解决方案就在那里,但我并不完全知道如何实现它。解决方案是添加 config :grasruts, GrasrutsWeb.Endpoint, check_origin: ["http://localhost:4000/","https://HEROKU_APP_URL/"]

于 2022-01-18T09:19:04.087 回答