# Be sure to restart your server when you modify this file. # Define an application-wide content security policy # For further information see the following documentation # https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy Rails.application.config.content_security_policy do |policy| policy.default_src :self, :https, AppHost.new.domain_with_port, :unsafe_inline policy.font_src :self, :https, :data policy.img_src :self, :https, :data policy.object_src :self policy.script_src :self, :https, AppHost.new.domain_with_port, "https://stream.mux.com", :blob, :unsafe_eval policy.media_src :self, :https, AppHost.new.domain_with_port, "https://stream.mux.com", :data, :blob # policy.style_src :self, :https, :unsafe_inline # If you are using webpack-dev-server then specify webpack-dev-server host # policy.connect_src :self, :https, "http://localhost:3035", "ws://localhost:3035" if Rails.env.development? policy.connect_src :self, :https, "ws://#{AppHost.new.domain_with_port}", "wss://#{AppHost.new.domain_with_port}" # Specify URI for violation reports # policy.report_uri "/csp-violation-report-endpoint" end # If you are using UJS then enable automatic nonce generation Rails.application.config.content_security_policy_nonce_generator = -> (request) do # Use the same CSP nonce for Turbolinks requests if request.env["HTTP_TURBOLINKS_REFERRER"].present? request.env["HTTP_X_TURBOLINKS_NONCE"] else SecureRandom.base64(16) end end # Report CSP violations to a specified URI # For further information see the following documentation: # https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy-Report-Only # Rails.application.config.content_security_policy_report_only = true