ApacheとRails をmod_proxyで連携する

ここでは、rails を apache の mod_proxy で動作させる際の、apacheの設定ファイルの記述を記載する。
windows 環境で Passenger 使えねー!という時や、railsを複数起動してロードバランスさせる前準備として。
(この記事ではロードバランスまでは行わない。)


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 の起動ポートに転送されるようになった。


トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-08-30 (土) 23:10:16 (1842d)