1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Apacheでリバースプロキシを設定し、特定のドメイン名でのリクエストは別の端末へ振り分ける

Last updated at Posted at 2022-04-15

概要

今まで1つドメインで1台のWEBサーバーを動かしていた。今回ドメインを増やしたが、今までのWEBサーバーとは別の端末にアクセスするようにしたかった。ブロードバンドルーターのNATでできないか調べたところ、ドメイン名で振り分ける機能はなかった。そのためブロードバンドルーターのNAT設定はそのままにし、既存のWEBサーバーのApacheでリバースプロキシを設定する事とした。

最初に思いついてボツになった方法

リバースプロキシ1.jpg

Apacheでリバースプロキシを設定する方法

リバースプロキシ2.jpg

リバースプロキシの設定(192.168.0.1側)

hostsにdevelop.ddns.netを追加

今回のWEBサーバーはWindows機なので
C:\Windows\System32\drivers\etc\hosts
にdevelop.ddns.netを追加

\Windows\System32\drivers\etc\hosts
192.168.0.2 develop.ddns.net

Apacheの設定

httpd.confの確認

apache\conf\httpd.conf
#次の3つのモジュールが有効になっている事を確認
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule ssl_module modules/mod_ssl.so

HTTP接続用の設定

develop.ddns.net用のVirtualHostを追加

apache\conf\extra\httpd-vhosts.conf
<VirtualHost *:80>
    ServerName develop.ddns.net:80
    ProxyPreserveHost On
    ProxyPass / http://develop.ddns.net/
    ProxyPassReverse / http://develop.ddns.net/
    ProxyPassReverseCookieDomain develop.ddns.net public.develop.ddns.net
    ProxyPassReverseCookiePath / /
</VirtualHost>

SSL接続用の設定

develop.ddns.net用のVirtualHostを追加
HTTP接続に比べてSSLEngine、証明書、SSLProxyEngineの設定が増えている

apache\conf\extra\httpd-ssl.conf
<VirtualHost *:443>
    ServerName develop.ddns.net:443
    SSLEngine on
    #develop.ddns.net用のLet's Encryptの証明書
    SSLCertificateFile "conf/certs/develop.ddns.net-crt.pem"
    SSLCertificateKeyFile "conf/certs/develop.ddns.net-key.pem"
    SSLCertificateChainFile "conf/certs/develop.ddns.net-chain.pem"
    SSLProxyEngine On
    ProxyPreserveHost On
    ProxyPass / https://develop.ddns.net/
    ProxyPassReverse / https://develop.ddns.net/
    ProxyPassReverseCookieDomain develop.ddns.net example.develop.ddns.net
    ProxyPassReverseCookiePath / /
</VirtualHost>

192.168.0.2側の設定

リバースプロキシ経由での接続に対応させるための特別な設定は必要ない
develop.ddns.netでアクセスされた時の記述を通常通り行えばよい

SSL証明書のSSLCertificateFileはリバースプロキシを設定している側と同じものを指定した

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?