Repository navigation
[ANCHOR-1398]: Derive request_client_ip_address from a trusted source - #2085
Merged
Merged
Conversation
…behind trusted proxies
amandagonsalves
approved these changes
Nov 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
request_client_ip_address(SEP-6/24/31) agora é derivado de uma fonte confiável: o endereço do peer TCP, ou o cliente real lido deX-Forwarded-Forsomente quando o peer está na nova listasep_server.trusted_proxies.X-Forwarded-Foré lido da direita para a esquerda, pulando proxies confiáveis. Uma entrada que não é um IP literal faz o valor cair para o peer, sem resolução de DNS.app_logging.request_logger_enabledligado ou desligado. A linha de log e a mensagem TRACE doRequestLoggerFilterusam o mesmo valor.127.0.0.1.sep_server.trusted_proxiesimpede o startup, com mensagem que cita a chave e a entrada.X-Real-IP,Proxy-Client-IP,HTTP_*etc.) emRequestLoggerFilter.Context
false), então vinhanullem toda transação por padrão.X-Forwarded-ForouX-Real-IPescolhia o valor repassado ao business server.Testing
./gradlew test./gradlew :platform:test(1466 testes, 0 falhas) e./gradlew spotlessCheckplatform:TrustedProxiesTest(fronteiras de CIDR, IPv4 e IPv6),ClientIpResolverTest,RequestLoggerBeansTest,SepRequestHelperTest,ClientIpControllerTest,SepServerConfigAdapterTest, além de casos novos emRequestLoggerFilterTesteConfigManagerTest.essential-tests(e2e) localmente. A asserção127.0.0.1emPlatformApiTestsdeve continuar valendo, pois o cliente local é o próprio peer.Documentation
A nova chave
sep_server.trusted_proxiesestá documentada emanchor-config-default-values.yaml, incluindo a consequência do default vazio.Known limitations
sep-service) passa a gravar o IP do proxy até configurarsep_server.trusted_proxies. Os valores de proxy do chart não foram definidos aqui porque são específicos de cada deploy.X-Real-IPe os demais cabeçalhos legados deixam de ser lidos.X-Forwarded-Forcom porta (1.2.3.4:5678) não são suportadas: contam como inválidas e o valor gravado é o peer.sep6_transaction,sep24_transactionesep31_transactionnão são reescritas.