ApacheとRails をmod_proxyで連携する †ここでは、rails を apache の mod_proxy で動作させる際の、apacheの設定ファイルの記述を記載する。 httpd.conf などの編集(一応SSLも考慮) †LoadModule ssl_module path_to/mod_ssl.so
# 以下の2つを有効化
LoadModule proxy_module path_to/mod_proxy.so
LoadModule proxy_http_module path_to/mod_proxy_http.so
Listen 443
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
SSLPassPhraseDialog builtin
SSLSessionCache "shmcb:/path_to/ssl_scache(512000)"
SSLSessionCacheTimeout 300
SSLMutex default
SSLRandomSeed startup file:/dev/urandom 256
SSLRandomSeed connect builtin
SSLCryptoDevice builtin
NameVirtualHost *:443
SSLStrictSNIVHostCheck off
<VirtualHost *:443>
ServerAdmin info@hoge.net
DocumentRoot "/var/www/hoge.com"
ServerName hoge.com
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /path_tocerts/hoge.com.crt
SSLCertificateKeyFile /path_to_certs/hoge.com.key
# rails側で force_ssl にした railsアプリの場合、リダイレクトがループしてしまうのでこの設定を入れておく
RequestHeader set X_FORWARDED_PROTO 'https'
# プロキシの設定
ProxyPass / http://localhost:3000/
# プロキシの設定(リダイレクト用)
ProxyPassReverse / http://localhost:3000/
</VirtualHost>
以上で https://hoge.com へのアクセスが rails の起動ポートに転送されるようになった。 |