संबंधित: Rails 3 SSL routing redirects from https to http (दुर्भाग्य से काम नहीं किया)।मैं सभी देवता पथ https का उपयोग करने के बारे में कैसे जाना चाहिए?
डुप्लिकेट, लेकिन इस सवाल का जवाब मेरे लिए काम नहीं किया: setting up ssl on devise
मैं एक वेब अनुप्रयोग है कि है अब थोड़ी देर के लिए ठीक काम कर रहा है, लेकिन मैं लॉगिन/संपादन खाते पर रास्तों को एसएसएल जोड़ने की जरूरत है। मैं प्रमाणीकरण के लिए डेविस का उपयोग कर रहा हूँ। मुझे devise विकी में एक प्रविष्टि मिली जिसने प्रक्रिया को बहुत सरल लग रहा था, लेकिन अगर मैं इसे काम करने के लिए प्राप्त कर सकता हूं तो मुझे बहुत बुरा लगता है। सरल हिस्सा यह था:
#in config/environments/production.rb
config.to_prepare { Devise::SessionsController.force_ssl }
config.to_prepare { Devise::RegistrationsController.force_ssl }
और फिर वहाँ इस सार में कोड के बारे में 25 लाइनों है: https://gist.github.com/1040964
मुझे लगता है कि काफी अच्छी तरह से काम करने के लिए मिल गया है, लेकिन जब कभी मैं साइन आउट मैं से एक 301 मिलता है सत्र एक क्रिया को हटा दें जो मुझे एक जीईटी भेजता है।
Started DELETE "https://stackoverflow.com/users/sign_out" for 98.246.164.160 at 2012-03-02 01:45:42 +0000
[02 Mar 01:45 10886 INFO] Processing by Devise::SessionsController#destroy as HTML
[02 Mar 01:45 10886 INFO] Parameters: {"authenticity_token"=>"fI4VZ4V0Go2Civo3sJz8Dv5/Wtaa90ynaYr+xxx="}
[02 Mar 01:45 10886 DEBUG] Parameters: {"_method"=>"delete", "authenticity_token"=>"fI4VZ4V0Go2Civo3sJz8Dv5/Wtaa90ynaYr+xxxx=", "action"=>"destroy", "controller"=>"devise/sessions"}
[02 Mar 01:45 10886 INFO] Redirected to https://ec2-xx-xx-106-255.us-west-2.compute.amazonaws.com/users/sign_out
[02 Mar 01:45 10886 INFO] Completed 301 Moved Permanently in 3ms
Started GET "https://stackoverflow.com/users/sign_out" for xx.xx.164.160 at 2012-03-02 01:45:42 +0000
[02 Mar 01:45 10886 FATAL]
ActionController::RoutingError (No route matches [GET] "https://stackoverflow.com/users/sign_out"):
तो मुझे लगता है कि मुझे स्क्रैच से शुरू करने की आवश्यकता है। किसी भी देवता पथ को https का उपयोग करने का सबसे आसान तरीका क्या है, लेकिन मेरे ऐप के बाकी पथ http का उपयोग करते हैं? मैंने यह कोशिश की (शीर्ष पर एसओ पोस्ट से):
#devise routes
scope :protocol => 'https://', :constraints => { :protocol => 'https://' } do
devise_for :users, :controllers => { :registrations => :registrations }
devise_for :admins
end
लेकिन नहीं जाना। मुझे एक बेहतर सुझाव की जरूरत है।