Nginx を介して Phoenix アプリに接続するように Web ソケットを設定しようとしていますが、403 エラーが発生し続けます。これを本番環境で機能させるための正しい構成を誰でもアドバイスできますか-開発環境は問題ありません。
私の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
必要に応じて、リクエストに応じて追加情報を提供できます。
ドメイン名を介してアプリに問題なくアクセスできます。最後に残っている唯一の問題は、Web ソケットを機能させることです。
私を正しい方向に向けることができる人に感謝します。