Linux Server

apacheでのリバースプロキシ構築

  

3
(3)

SSLをハンドリングする場合については、apacheでのリバースプロキシ構築(SSL編)に追記しました。

apacheでのリバースプロキシ構築(SSL編)
前回のapacheでのリバースプロキシ構築の続編です。 今度はバックエンド側でHTTPSのホームページがある場合になります。 この場合クライア …

続きを見る

ウェブサーバの移行用のリバースプロキシーサーバを構築する

うちの自宅は1つのグローバルIPで複数のドメインを運用し、複数のHPやらBlogを運営しています。

今回自分のBlogはMovable TypeからWordPressに移行しましたが、サーバのOSが古かったせいもありWordPressは新サーバを構築して移行をしています。しかし一回で全てのコンテンツを移行するのはなかなか難しかったため、リバースプロキシサーバを立ててURIで新旧のサーバを振り分けるようにしたいと思います。

イメージは以下の通り。

今回のポイントは以下の点かと思います。

ポイント

  • バーチャルドメインを使って運用している
  • バックエンドサーバの文字コードが違う

さて、それでは各サーバの設定を見ていきます。

フロントエンドサーバ

フロントエンドサーバ側にはReverseProxyの設定をします。


LoadModule proxy_module modules/mod_proxy.so
~~
#
# Specify a default charset for all content served; this enables
# interpretation of all content as UTF-8 by default.  To use the
# default browser choice (ISO-8859-1), or to allow the META tags
# in HTML content to override this choice, comment out this
# directive:
#
#AddDefaultCharset UTF-8
AddDefaultCharset Off

#
# AddType allows you to add to or override the MIME configuration
# file mime.types for specific file types.
#
#AddType application/x-tar .tgz

11行目のキャラクタセットをOffに変更します。これをオフにしていないとバックエンドサーバの旧サーバ側の文字が化け化けになってしまいます。

以下Virtualhostごとにリバースプロキシ設定を入れます。

#NameVirtualHost *:80
#
# NOTE: NameVirtualHost cannot be used without a port specifier
# (e.g. :80) if mod_ssl is being used, due to the nature of the
# SSL protocol.
#
NameVirtualHost 192.168.xx.xx:80
 
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
#<VirtualHost *:80>
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>
<VirtualHost 192.168.xx.xx:80>
ProxyPreserveHost On
ProxyPass / 
ProxyPassReverse / 
ServerName hogehoge.com
ServerAlias *.hogehoge.com
ErrorLog logs/error_log
TransferLog logs/access_log
</VirtualHost>
 
<VirtualHost 192.168.xx.xx:80>
ProxyPreserveHost On
ProxyPass / 
ProxyPassReverse / 
ServerName example.com
ServerAlias *.example.com
ErrorLog logs/error_log
TransferLog logs/access_log
</VirtualHost>
 
<VirtualHost 192.168.xx.xx:80>
ProxyPreserveHost On
ProxyPass / 
ProxyPassReverse / 
ServerName kamata-net.com
ServerAlias *.kamata-net.com
ErrorLog logs/error_log
TransferLog logs/access_log
</VirtualHost>

バックエンドサーバ

バックエンド側サーバの設定変更は特に必要ありません。

 

記事は以上!

この記事は役に立ちましたか? | Is this article useful for you?

評価をお願いします | Please leave your rating.

平均 | Av.: 3 / 5. 投票数 | Votes: 3

最初の評価を下さい | Please vote for the first rating.

-Linux Server
-,

© 1999 - 2020 蒲田ネット