title: AnyCable request.params is empty in production
body: <p>I have a Docker setup with Rails and Anycable. Only in <strong>production</strong> does request.params return nothing. In development this is not an issue.</p>
  <p>If I try to make a connection to <code>wss://api.test.to:8443/live?uid=yyy&amp;token=xxx</code></p>
  <p>The connection attempt is made but in my <code>connection.rb</code> the request.params always returns an empty object.</p>
  <p>This is my fairly standard connection.rb.</p>
  <pre><code>module ApplicationCable
    class Connection &lt; ActionCable::Connection::Base
      identified_by :current_user
  
      def connect
        self.current_user = find_verified_user
      end
  
      private
  
      def find_verified_user
        auth_header = request.params[:token]
        uid_header = request.params[:uid]
  
        logger.debug(request.params[:token]) # logs nothing
        logger.debug(request.to_yaml) # logs request object with no parameters included.
        
        begin
          decoded = JsonWebToken.decode(auth_header) 
        rescue JWT::VerificationError, JWT::ExpiredSignature, JWT::DecodeError =&gt; error_string
          logger.debug(&quot;AUTH ERROR: &quot; + error_string.to_s)
          return reject_unauthorized_connection # If decoding the JWT failed, reject auth.
        end
        
        user_decoded = User.find(decoded[:user_id])
  
        if user_decoded.id === uid_header
          return user_decoded
        else
          return reject_unauthorized_connection
        end
      end
      
    end
  end
  </code></pre>
  <p>docker-compose.yml:</p>
  <pre><code>version: '3.8'
  
  services:
    app:
      image: app-backend
      build:
        context: .
        dockerfile: Dockerfile
      command: bundle exec rails s -b 0.0.0.0
      depends_on:
        - database
        - redis
      volumes:
        - .:/app:cached
        - gem_cache:/usr/local/bundle/gems:cached
      env_file: production.env
      environment:
        RAILS_ENV: production
  
    database:
      image: postgres:13-alpine
      ports:
        - '5432:5432'
      volumes:
        - db_data:/var/lib/postgresql/data
        - ./init.sql:/docker-entrypoint-initdb.d/init.sql:delegated
      healthcheck:
        test: pg_isready -U postgres -h 127.0.0.1
        interval: 5s
  
    redis:
      image: redis:alpine
      volumes:
        - redis_data:/data
      ports:
        - 6379
      healthcheck:
        test: redis-cli ping
        interval: 1s
        timeout: 3s
        retries: 30
  
    rpc:
      entrypoint: [&quot;bundle&quot;, &quot;exec&quot;, &quot;anycable&quot;]
      build:
        context: .
      volumes:
        - .:/app:cached
        - gem_cache:/usr/local/bundle/gems:cached
      env_file: production.env
      environment:
        RAILS_ENV: production
        ANYCABLE_REDIS_URL: redis://redis:6379/0
        ANYCABLE_RPC_HOST: 0.0.0.0:50051
        ANYCABLE_DEBUG: 0
      depends_on:
        app:
          condition: service_started
        database:
          condition: service_healthy
        redis:
          condition: service_healthy
  
    anycable:
      image: anycable/anycable-go:latest-alpine
      entrypoint: [&quot;anycable-go&quot;, &quot;-ssl_cert=/var/ssl/certbot/conf/live/api.pasta.to/fullchain.pem&quot;, &quot;-ssl_key=/var/ssl/certbot/conf/live/api.pasta.to/privkey.pem&quot;, &quot;--path=/live&quot;, &quot;--log_level=debug&quot;, &quot;--debug&quot;]
      ports:
        - '8443:8443'
      environment:
        ANYCABLE_HOST: &quot;0.0.0.0&quot;
        ANYCABLE_PORT: 8443
        ANYCABLE_REDIS_URL: redis://redis:6379/0
        ANYCABLE_RPC_HOST: rpc:50051
        ANYCABLE_DEBUG: 1
      volumes:
        - ./ssl:/var/ssl
      depends_on:
        rpc:
          condition: service_started
        app:
          condition: service_started
  
    nginx:
      image: ymuski/nginx-quic:latest
      command: &quot;/bin/sh -c 'while :; do sleep 6h &amp; wait $${!}; nginx -s reload; done &amp; nginx -g \&quot;daemon off;\&quot;'&quot;
      volumes:
        - ./ssl:/var/ssl
        - ./nginx/prod/nginx.conf:/etc/nginx/nginx.conf
        - ./public:/var/web
      ports:
        - 80:80
        - 443:443
      depends_on:
        app:
          condition: service_started
  
  volumes:
    gem_cache:
    db_data:
    redis_data:
    ssl_root:
  </code></pre>
  <p>production.rb</p>
  <pre><code>Rails.application.configure do
    config.cache_classes = true
  
    config.eager_load = true
    
    config.consider_all_requests_local = true
    
    config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?
    
    config.active_storage.service = :local
    
    config.action_cable.url = 'wss://api.test.to:8443/live'
    
    config.action_cable.disable_request_forgery_protection = true
  
    config.log_level = :debug
    
    config.logger = Logger.new(STDOUT)
  
    config.log_tags = [ :request_id ]
  
    config.cache_store = :redis_cache_store, {driver: :hiredis, url: &quot;redis://redis:6379/2&quot;}
    
    config.action_mailer.perform_caching = false
  
    config.i18n.fallbacks = true
  
    config.active_support.deprecation = :notify
  
    config.log_formatter = ::Logger::Formatter.new
  
    if ENV[&quot;RAILS_LOG_TO_STDOUT&quot;].present?
      logger           = ActiveSupport::Logger.new(STDOUT)
      logger.formatter = config.log_formatter
      config.logger    = ActiveSupport::TaggedLogging.new(logger)
    end
  
    config.active_record.dump_schema_after_migration = false
    config.active_record.verbose_query_logs = true
  end
  </code></pre>
  <p>This is what's logged when a websocket connection is made:</p>
  <p><a href="https://user-images.githubusercontent.com/15372551/124969065-8e8e4680-e026-11eb-912d-2aa8e98f5607.png" rel="nofollow noreferrer">https://user-images.githubusercontent.com/15372551/124969065-8e8e4680-e026-11eb-912d-2aa8e98f5607.png</a></p>