CentOS7, Apache2.4で名前ベースのVirtualHostを設定しました。
以下の構成になっています。
VirtualHost1: ウェブサイト(https://example1.com)
VirtualHost2: APIサーバー(https://example2.com)
現在、VirtualHost1(https://example1.com)から外に出て(インターネット経由して)VirtualHost2(https://example2.com)に接続してデータを取得しているのですが、
これを、VirtualHost1とVirtualHost2同士でローカル通信するにはどのようにしたらよいのでしょうか?
できれば、VirtualHost2(APIサーバー)は公開したくありません。
現在のhttpd.confは以下のようになっています。
shell
1# -- httpd.conf -- 2#VirtualHost1 3<VirtualHost *:443> 4 DocumentRoot /var/www/html/example1 5 ServerName example1.com 6 # ・・・・・・・・・・・・・・・・・・・ 7 # ・・・・・・・・・・・・・・・・・・・ 8</VirtualHost> 9 10#VirtualHost2 11<VirtualHost *:443> 12 DocumentRoot /var/www/html/example2 13 ServerName example2.com 14 # ・・・・・・・・・・・・・・・・・・・ 15 # ・・・・・・・・・・・・・・・・・・・ 16</VirtualHost>
example2.comは破棄して、VitualHost1、2の間はHTTP通信にしてもよいです。
よろしくお願いいたします。
「VirtualHost2」にローカルアドレスを設定して、「VirtualHost1」のサーバの hosts にそのローカルアドレスを記述して、通信させるのはまずいのですか?
VirtualHost1はインターネット公開されていて、JavaScriptから https://example2.com/products/?id=1234 というようにVirtualHost2に問い合わせます。この場合、URLはどのようになるのでしょうか?
PHPやPythonで問い合わせるようにすればよいでしょうか。
普通にVirtualHost2のURLを指定してアクセスすれば良いと思いますが、質問すると言うことは、エラーなど期待通りでない結果になったと言うことだと思いますが、何をしてどうなったのでしょうか?
説明不足だったため画像を追加しました。VirtualHost設定をどうのようにすればVirtualHost1、2の間で転送できるのかよく分かっていません。
VirtualHost設定 というのですから httpd.conf もしくは それが インクルードしているファイルで NameVirtualHost なり <VirtualHost *:80> なり <VirtualHost *:443> なりしているのですよね?
公開したくない箇所は 伏字で構わないので そこを 記述してください。
状況がわかりません。
通信できていないのですか?どんなエラー(状況)ですか?
現状は問題なく通信できています。VirtualHost2を非公開にする方法がないか考えています。httpd.confについても追加してみます。
通信できているのに、
> VirtualHost1とVirtualHost2同士でローカル通信するにはどのようにしたらよいのでしょうか?
という質問をしているのですか???
> VirtualHost2を非公開にする方法がないか考えています。
アクセス元IPアドレスで制限すれば良いのでは?

