私のRailsアプリケーションで、SSLを使って機密性の高いフォームデータを送信しようとしましたが、運があまりありません。基本的な問題は、フォームを提出すると(これはPOSTリクエストにあります)、ちょっと待ってからサーバーが応答していないということです。ここでRails、SSL、Apacheをうまく再生するにはどうしたらいいですか?
は、私が働いているものです:
のApache 2.2.3 のRails 2.3.8 のRedHat Linuxの(Rackspaceのサーバ)
次のようにssl_requirementプラグインを使用:
ApplicationControllerにします:
class ApplicationController < ActionController::Base
include SslRequirement
helper :all # include all helpers, all the time
protect_from_forgery # See ActionController::RequestForgeryProtection for details
# Scrub sensitive parameters from your log
filter_parameter_logging :password
end
コントローラアクションでSSLを使用します。
Include conf.d/*.conf
そして(conf.d/ssl.confファイルの)私のSSLバーチャルホストルックス:
class RegistrationsController < ApplicationController
ssl_required :create
...
end
私のhttpd.confには、ssl.confのをつかむために、この行が含まれてこのように:
<VirtualHost XXX.XXX.XXX.XXX:443>
ServerName www.nameofmyapp.com
ServerAlias nameofmyapp.com
DocumentRoot /var/www/apps/myapp/current/public
RailsEnv production
RequestHeader set X_FORWARDED_PROTO 'https'
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/2012-nameofmyapp.com.crt
SSLCertificateKeyFile /etc/pki/tls/private/2012-nameofmyapp.com.key
SSLCACertificateFile /etc/pki/tls/certs/SecureSite_Bundle.pem
</VirtualHost>
Apacheログには何がありますか? – dangerousdave
これは私のssl_error_logにあります: – mcmaloney
RSAサーバ証明書CommonName(CN) 'localhost.localdomain 'はサーバ名と一致しません! – mcmaloney