前提・実現したいこと
リバースプロキシを利用してインターネットからドメインにアクセスした時に複数の自宅mastodonサーバに繋げるようにしたいです。
・現在の機器構成です
ーーーーーーーーーーーーーーーーーーーーーーーーー
リバースプロキシ用サーバ(IP:192.168.1.2) 1台
mastodon用サーバ1(IP:192.168.1.3)
mastodon用サーバ2(IP:192.168.1.4)
ーーーーーーーーーーーーーーーーーーーーーーーーー
どれもOSはCentOS7です。
どれもモデムからLANケーブルで直接繋いでいます。
モデムの設定で192.168.1.2だけ80と443ポート開けています。
どの機器もfirewallは80,443ポートは開けています。
ドメインはmastodon用サーバ1と2用にそれぞれ取得していて、
インターネットからアクセスした時にそれぞれのサーバに繋がるようにしたいです。
DDNS環境なので、それぞれのドメインはmydnsに登録し、グローバルIPと結びつけています。
モデムのポートを192.168.1.3だけ開けた状態でドメインからアクセスしてみましたが、繋がりました。
同じく192.168.1.4だけ開けた状態でもアクセスしてみましたが、繋がりました。
発生している問題・エラーメッセージ
インターネット→リバースプロキシサーバ→mastodon用サーバという流れで繋ぎたいのですが、うまく行きません。
インターネットからドメインにアクセスすると「XXXX.XXXX(ドメイン名)」で接続が拒否されましたというエラーが出てアクセスできません。
該当のソースコード
リバースプロキシ用サーバの/etc/nginx/conf.d下に
proxy.confというファイルを作成し、下記のコードを書いています。
server{
listen 80;
server_name XXXX1.XXXX(mastodon用サーバ1用に取得したドメイン。外部からアクセスするドメイン。マスクしてます);
proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { proxy_pass http://192.168.1.3(アクセスさせたいmastodonサーバ1のIPアドレス); }
}
server{
listen 80;
server_name XXXX2.XXXX(mastodon用サーバ2用に取得したドメイン。外部からアクセスするドメイン。マスクしてます);
proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { proxy_pass http://192.168.1.4(アクセスさせたいmastodonサーバ2のIPアドレス); }
}