Is there a way to port the config.assume_ssl functionality from 7.1 alpha to 188.8.131.52? I’ve an app working well, and I woud like to incorporate only that feature to 184.108.40.206. Any help or idea on how to do it? Tks!
I guess, this is the code to implement this behaviour.
Sure enough – that’s the stuff! You can add this to pretty much any older version of Rails by modifying your
application.rb to look like this:
module TestApp class Application < Rails::Application # Initialize configuration defaults for originally generated Rails version. config.load_defaults 7.0 # Configuration for the application, engines, and railties goes here. ... (all your other normal config settings and such) ... # After upgrading to Rails 7.1 or later, trade this out for: config.assume_ssl = true ActiveSupport.on_load(:before_initialize) do |app| app.config.middleware.insert_before(::Rack::Sendfile, ::TestApp::AssumeSSL) end end class AssumeSSL def initialize(app) @app = app end def call(env) env["HTTPS"] = "on" env["HTTP_X_FORWARDED_PORT"] = 443 env["HTTP_X_FORWARDED_PROTO"] = "https" env["rack.url_scheme"] = "https" @app.call(env) end end end
Of course rename
TestApp to your real application name.
After everything boots, the middleware stack (shown by running
Rails.application.config.middleware) should have this sequence – note that
AssumeSSL comes right before
Eager to hear how you get on!
thank you so much Lorin for taking the time to teach me! I will try it asap and come back to you
Works great and also I learnt a lot. Thank you!