* ApacheとRails をmod_proxyで連携する [#jf0a5d58]
#setlinebreak(on)
ここでは、rails を apache の mod_proxy で動作させる際の、apacheの設定ファイルの記述を記載する。
windows 環境で Passenger 使えねー!という時や、railsを複数起動してロードバランスさせる前準備として。
(この記事ではロードバランスまでは行わない。)
&br;
#contents
-- 関連
--- [[Apacheインストール]]
--- [[ApacheでSSL(SNI)設定]]
--- [[Railsをthinで複数起動してApacheでロードバランス]]
** httpd.conf などの編集(一応SSLも考慮) [#c8438f41]
#mycode2(){{
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 の起動ポートに転送されるようになった。