Tamer

Joined

70 Experience
0 Lessons Completed
0 Questions Solved

Activity

First of all, this problem is a persistent, and I'm trying to solve it for a week with 0 progress.

I'm working on a Ruby on Rails website and using Devise and Omniouth-<social media> for authentication. It was running very smoothly.

However, after configuring a paid SSL certificate with Nginx, with almost every redirect I get the following in my app console:

    Cannot render console from <my laptop ip>! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255
  
    URI::InvalidComponentError (bad component(expected scheme component): : https):
  
    /home/tamer/.rvm/rubies/ruby-2.5.0/lib/ruby/2.5.0/uri/generic.rb:322:in `check_scheme'
    /home/tamer/.rvm/rubies/ruby-2.5.0/lib/ruby/2.5.0/uri/generic.rb:363:in `scheme='
    actionpack (5.1.5) lib/action_dispatch/routing/redirection.rb:35:in `serve'
    actionpack (5.1.5) lib/action_dispatch/routing/redirection.rb:21:in `call'
    actionpack (5.1.5) lib/action_dispatch/routing/mapper.rb:17:in `block in <class:Constraints>'
    actionpack (5.1.5) lib/action_dispatch/routing/mapper.rb:46:in `serve'
    actionpack (5.1.5) lib/action_dispatch/journey/router.rb:50:in `block in serve'
    actionpack (5.1.5) lib/action_dispatch/journey/router.rb:33:in `each'
    actionpack (5.1.5) lib/action_dispatch/journey/router.rb:33:in `serve'
    actionpack (5.1.5) lib/action_dispatch/routing/route_set.rb:844:in `call'
    omniauth (1.8.1) lib/omniauth/strategy.rb:190:in `call!'
    omniauth (1.8.1) lib/omniauth/strategy.rb:168:in `call'
    omniauth (1.8.1) lib/omniauth/strategy.rb:190:in `call!'
    omniauth (1.8.1) lib/omniauth/strategy.rb:168:in `call'
    omniauth (1.8.1) lib/omniauth/strategy.rb:190:in `call!'
    omniauth (1.8.1) lib/omniauth/strategy.rb:168:in `call'
    omniauth (1.8.1) lib/omniauth/strategy.rb:190:in `call!'
    omniauth (1.8.1) lib/omniauth/strategy.rb:168:in `call'
    omniauth (1.8.1) lib/omniauth/strategy.rb:190:in `call!'
    omniauth (1.8.1) lib/omniauth/strategy.rb:168:in `call'
    omniauth (1.8.1) lib/omniauth/builder.rb:63:in `call'
    warden (1.2.7) lib/warden/manager.rb:36:in `block in call'
    warden (1.2.7) lib/warden/manager.rb:35:in `catch'
    warden (1.2.7) lib/warden/manager.rb:35:in `call'
    rack (2.0.4) lib/rack/etag.rb:25:in `call'
    rack (2.0.4) lib/rack/conditional_get.rb:25:in `call'
    rack (2.0.4) lib/rack/head.rb:12:in `call'
    rack (2.0.4) lib/rack/session/abstract/id.rb:232:in `context'
    rack (2.0.4) lib/rack/session/abstract/id.rb:226:in `call'
    actionpack (5.1.5) lib/action_dispatch/middleware/cookies.rb:613:in `call'
    activerecord (5.1.5) lib/active_record/migration.rb:556:in `call'
    actionpack (5.1.5) lib/action_dispatch/middleware/callbacks.rb:26:in `block in call'
    activesupport (5.1.5) lib/active_support/callbacks.rb:97:in `run_callbacks'
    actionpack (5.1.5) lib/action_dispatch/middleware/callbacks.rb:24:in `call'
    actionpack (5.1.5) lib/action_dispatch/middleware/executor.rb:12:in `call'
    actionpack (5.1.5) lib/action_dispatch/middleware/debug_exceptions.rb:59:in `call'
    web-console (3.5.1) lib/web_console/middleware.rb:135:in `call_app'
    web-console (3.5.1) lib/web_console/middleware.rb:20:in `block in call'
    web-console (3.5.1) lib/web_console/middleware.rb:18:in `catch'
    web-console (3.5.1) lib/web_console/middleware.rb:18:in `call'
    actionpack (5.1.5) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
    railties (5.1.5) lib/rails/rack/logger.rb:36:in `call_app'
    railties (5.1.5) lib/rails/rack/logger.rb:24:in `block in call'
    activesupport (5.1.5) lib/active_support/tagged_logging.rb:69:in `block in tagged'
    activesupport (5.1.5) lib/active_support/tagged_logging.rb:26:in `tagged'
    activesupport (5.1.5) lib/active_support/tagged_logging.rb:69:in `tagged'
    railties (5.1.5) lib/rails/rack/logger.rb:24:in `call'
    sprockets-rails (3.2.1) lib/sprockets/rails/quiet_assets.rb:13:in `call'
    actionpack (5.1.5) lib/action_dispatch/middleware/remote_ip.rb:79:in `call'
    request_store (1.4.0) lib/request_store/middleware.rb:19:in `call'
    actionpack (5.1.5) lib/action_dispatch/middleware/request_id.rb:25:in `call'
    rack (2.0.4) lib/rack/method_override.rb:22:in `call'
    rack (2.0.4) lib/rack/runtime.rb:22:in `call'
    activesupport (5.1.5) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call'
    actionpack (5.1.5) lib/action_dispatch/middleware/executor.rb:12:in `call'
    actionpack (5.1.5) lib/action_dispatch/middleware/static.rb:125:in `call'
    rack (2.0.4) lib/rack/sendfile.rb:111:in `call'
    railties (5.1.5) lib/rails/engine.rb:522:in `call'
    puma (3.11.2) lib/puma/configuration.rb:225:in `call'
    puma (3.11.2) lib/puma/server.rb:624:in `handle_request'
    puma (3.11.2) lib/puma/server.rb:438:in `process_client'
    puma (3.11.2) lib/puma/server.rb:302:in `block in run'
    puma (3.11.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread'

This message doesn't prevent the website from loading. But when user logs out (I'm using Devise for username/password user authentication). the website throws in the browser the error I mentioned earlier:

    
URI::InvalidComponentError bad component(expected scheme component): : https Extracted source (around line #322): def check_scheme(v) if v && parser.regexp[:SCHEME] !~ v raise InvalidComponentError, # line 322 "bad component(expected scheme component): #{v}" end

and I get the console error message twice.

Here is a part of my Nginx configuration :


server {
    listen 443 ssl;
    server_name <server-name>;

    client_max_body_size 15M;
    ssl                  on;
    ssl_certificate      <.pem file path>;
    ssl_certificate_key  <.key file path>;
    ...
    root <"public" directory inside my app directory>;
    access_log <ssl.access.log path>;
    error_log  <ssl.error.log path>;

    include /etc/nginx/default.d/*.conf;

    location / {
        proxy_pass http://127.0.0.1:3000;

        proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;
        proxy_set_header X-Forwarded-Proto: $scheme;
 }


Note: I'm running in development environment so far.
logo Created with Sketch.

Ruby on Rails tutorials, guides, and screencasts for web developers learning Ruby, Rails, Javascript, Turbolinks, Stimulus.js, Vue.js, and more. Icons by Icons8

© 2021 GoRails, LLC. All rights reserved.