Nginx를 통해 Phoenix 앱으로 이동하지만 403 오류가 계속 발생하도록 웹 소켓을 설정하려고합니다. 누구나 생산 환경에서 올바르게 작동하도록 올바른 구성을 조언 할 수 있습니까?Nginx 뒤에 Phoenix가있는 웹 소켓을 설정하는 방법은 무엇입니까?
내 Nginx에의 conf는 :
upstream phoenix {
server 127.0.0.1:4000 max_fails=5 fail_timeout=60s;
}
server {
server_name <app-domain>;
listen 80;
location/{
allow all;
# Proxy Headers
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Cluster-Client-Ip $remote_addr;
# The Important Websocket Bits!
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://phoenix;
}
}
내 prod.exs은 conf의 : 필요한 경우 요청에 따라
use Mix.Config
config :logger, level: :info
config :phoenix, :serve_endpoints, true
config :app, App.Endpoint,
http: [port: 4000],
url: [host: "127.0.0.1", port: 4000],
root: '.',
cache_static_manifest: "priv/static/manifest.json",
server: true
config :app, App.Repo,
username: System.get_env("MONGO_USERNAME"),
password: System.get_env("MONGO_PASSWORD"),
database: "template",
hostname: "localhost",
pool_size: 10
내가 어떤 추가 정보를 제공 할 수 있습니다.
응용 프로그램이 도메인 이름을 통해 정상적으로 도달 할 수 있으며 마지막 문제는 웹 소켓이 작동하는 것입니다.
나를 올바른 방향으로 안내 할 수있는 사람에게 많은 감사를드립니다.
예, 맵 문을 놓쳤습니다. 그래서 그 도메인에 대한 nginx conf에 추가하고 nginx를 다시 시작했지만 여전히 같은 오류가 발생합니다. 나는 서버 구성과 일치하는 exrrm 배포판을 작성하고, 빌드 문제가있는 경우 모든 경우에 액세스 할 수 없을 것입니다. 정확한 문제는 여기 [link] (phoenix.hollyer.me.uk)에서 확인할 수 있습니다. 연락처 페이지로 이동하여 브라우저 콘솔을 확인하면 오류가 표시됩니다. –
올바른 md 링크 : [link] (http://phoenix.hollyer.me.uk/contact) –
답변을 편집했습니다. – TheAnh