Plesk利用環境でのリバースプロキシの設定

ウェブ制作関連

フリーでやっていると新しい事に挑戦する機会は少ないので、有難い事なのだが、今回は情報が少なくて一度ギブアップしそうになったが、なんとかクリアしたので、備忘録も兼ねて必要な情報や手順を残しておく。

オーダーがどういったものかと言うと、運営しているウェブサイトのあるディレクトリ以下を別のサーバーで運営したいというものだ。
なぜそういう環境にしたいのかというのは、話が逸れすぎるので端折る事にする。

こういう設定は今までにやったことはなく、どうやるのかよく分からなかったが、リバースプロキシという設定行うらしい。

さらにこれをどこで設定するかというと、ApacheNginxなどウェブサーバーで行う必要がある。
ということで、これらウェブサーバーの設定が触れない環境では無理だと思われる。

今回のサーバーはApacheだったので、そちらで話を進めていく。

Apacheの場合

まず、モジュールを読み込む必要がある。
読み込むモジュールは、proxyモジュールと、proxy_httpモジュール

それから、該当ディレクトリを別サーバーと繋げるコードを記述する。

どちらもApache.confに記述する。
とりあえず、この辺は予備知識的なことになるので、参考にしたサイトを貼っておく。

同一ドメインでサブディレクトリを別サーバに設置して表示させる為のapacheリバースプロキシ(mod_proxy)設定手順
https://normalblog.net/system/apache-reverse-proxy-mod_proxy/

場所さえ間違わなければ、そう難しい事では無い。

Pleskを使っている場合

が、なんだか思う様にならない。

まず『おかしいな』と思ったのは、.confの見た時。
モジュールがほぼ読み込まれていない。
こんなことは有るのか?と思ったものの、まぁ詳しくは無いので、調べた通りにモジュールを読み込むコードを記述して、Apacheを再起動する。
が、思う様な動作にならない。

再度、.confを見ても先ほど記述したものはしっかりと残っている。
どういうことなんだろう・・・と、色々調べてみると、なんだかPleskを使っていると色々と話が変わってくるという事だ。

.confを編集しても、設定はPleskで書き換えられる様で、それでも手動で.confを書き換えたい場合はちょっと違う手続きでファイルを編集する必要があるという事だ。
この辺に関しては下記サイトで分かった

Apache conf の設定
https://www.pletk.com/apacheconf.html

Plesk利用環境でリバースプロキシを設定する

上記サイトで、ほぼ解決するのだが、一応Pleskリバースプロキシを設定する内容を記載しておく。

まず、モジュールの読み込みだが、
ツールと設定 > Apache ウェブサーバ
で、確認する。

proxyとproxy_httpが確認できる。

proxyはチェックがグレーアウトしているが、多分その他proxy_XXXに共通に使うモジュールなので、それらの中で一つでもONのものがあれば、OFFに出来ない様になっているのだと推測される。

次は、
ウェブサイトとドメイン > Apache と nginx の設定
を開く

この辺は少しPleskのバージョンによって表記が変わってくるようだ。
参考にした上記サイトでは、『ウェブサーバ設定』と表記されている。

Apache 追加ディレクティブ』にhttp用とhttps用の各テキストボックスが用意されているので、それぞれに記述する。
最近ならサイトごとSSLを利用することが推奨されているので、httpsだけで良い気もするが、今回は念のためにhttpの方も設定した。

設定する内容確認しておく

元となる親サイトのドメイン > dennou-k.net
該当のディレクトリ > dennou-k.net/here
該当ディレクトリで表示するサーバーのIPアドレス > 192.168.100.100

仮に上記の様な条件だった場合の記述とする

<Location “/here”>
ProxyPass https://192.168.100.100
ProxyPassReverse https://192.168.100.100
ProxyPassReverseCookieDomain https://192.168.100.100 dennou-k.net
ProxyPassReverseCookiePath / /here/
</Location>

上記はhttps用なので、httpに書く場合はこの『https://』の部分を『http://』に変えれば良い。

修正:2021/05/31

<Location “/here”>
ProxyPass https://192.168.100.100
ProxyPassReverse https://192.168.100.100
ProxyPassReverseCookieDomain https://192.168.100.100 dennou-k.net
ProxyPassReverseCookiePath / /here/
</Location>

http用、https用共に同じ情報を入れれば良い。

分かってみれば簡単な事だが、参考にした2サイトの内容が一つになっているところがなかったので、自分の備忘録も兼ねて参考になるかもしれないページを一つ増やしておく事にする。

コメント