Implantação da criação de romaneios

This commit is contained in:
2026-08-27 19:51:38 -03:00
parent b3464e3acd
commit e2b74068d5
13 changed files with 497 additions and 39 deletions

View File

@@ -8,8 +8,24 @@ Rails.application.configure do
# HTTPS obrigatório: redireciona HTTP→HTTPS e marca cookies como "Secure".
# assume_ssl faz o Rails confiar no TLS terminado no Cloudflare (que envia
# X-Forwarded-Proto=https), evitando loop de redirecionamento.
config.assume_ssl = true
config.force_ssl = true
#
# ⚠️ EFEITO COLATERAL, e não é bug: com assume_ssl o Rails calcula
# `request.base_url` como https:// SEMPRE. Quem abre o sistema direto pelo
# IP em HTTP (http://100.75.222.23:3001) manda `Origin: http://...`, a
# verificação de CSRF compara os dois, não bate, e TODO POST volta 422
# ("A ação foi recusada por uma verificação de segurança") — enquanto os GETs
# passam e a tela parece normal. Aconteceu em 27/08/2026 ao importar o plano
# do romaneio. O uso normal é pelo domínio, onde Origin e base_url são https.
#
# O gate abaixo existe para DIAGNÓSTICO pelo IP: `FORCE_SSL=false` no .env
# devolve o acesso por HTTP puro. Sem a variável (ou com qualquer outro
# valor) o HTTPS continua obrigatório — o padrão seguro. Antes isto estava
# fixo aqui e o FORCE_SSL do .env, respeitado no application.rb, não tinha
# efeito nenhum em produção: as duas configurações se contradiziam.
unless ENV["FORCE_SSL"] == "false"
config.assume_ssl = true
config.force_ssl = true
end
config.log_level = ENV.fetch("RAILS_LOG_LEVEL", "info")
config.log_tags = [:request_id]
config.logger = ActiveSupport::Logger.new(STDOUT).tap { |l| l.formatter = ::Logger::Formatter.new }