Discourse をシステムにインストールしようとしているのですが、うまくいきません。
ホストマシン上で nginx サーバーが動作しており、Discourse はそのホスト上の専用 VM で実行されています。nginx サーバーはすべての SSL 処理と HTTP から HTTPS へのリダイレクトを担当しています。nginx と Discourse 間では平文の HTTP で通信させたいと考えていますが、Discourse 側で SSL を無効にする方法がわかりません。
SSL を設定した状態では、HTTP からのリクエストが HTTPS へ無限にリダイレクトされる現象が発生します。
以下が私の nginx 設定のスニペットです。
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name forum.example.com;
# SSL 設定 ...
ssl_certificate /etc/nginx/certificates/cloudflare-example.com.pem;
ssl_certificate_key /etc/nginx/certificates/cloudflare-example.com.key;
# Discourse へのリバースプロキシ:
location / {
proxy_pass http://192.168.1.123:80/;
proxy_http_version 1.1;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 120;
}
}
app.yml から以下の行をコメントアウトし、./launcher rebuild app で再構築を試みました。
# - "templates/web.ssl.template.yml"
# - "templates/web.letsencrypt.ssl.template.yml"
しかし、HTTP サーバーが起動しません。
このような設定に関する手順書は存在しますか?それとも、nginx と Discourse 間で SSL を設定する必要があるのでしょうか?