Repository navigation
Conversation
componentes -> components cComponentes -> components eruComponentes -> components
ARTEFACT -> ARTIFACT artefact -> artifact Artefact -> Artifact
organizatioRoleSystem -> organizationRoleSystem
No method name changes in API interfaces and classes
- Default config sets hostname "proxy" as allowed reverse proxy. - The feature can be disabled by configuring "disabled" as the only allowed reverse proxy. - Hostnames, IPv4/IPv6 addresses and IPv4/IPv6 CIDR networks can be configured as allowed. - Hostnames are resolved against the DNS and periodically refreshed. The timeout can be configured and should be chosen according to the acceptable stale-authorization window and e.g. the expected reverse-proxy replacement time.
- The "dev.dsf.proxy.noProxy" config property can now be configured with exact domains `example.com`, one level wildcard sub-domains `*.example.com`, one or more level wildcard sub-domains `**.example.com`, IP-addresses and CIDR Networks. - IP/CIDR rules are applied if the target URL is specified as an IP-address. - IPv6 addresses and CIDR networks need to be specified in square brackets to allow for the optional specification of a target port. - Examples: sub.exact.com:80, *.one.level.wildcard.com, **.multilevel.com:443, 192.168.1.1, 192.168.1.0/24:80, [2001:db8::1]:443, [2001:db8::/32] - If no port is specified the target port is ignored.
MultiVersionClassDelegateTaskListener -> MultiVersionClassDelegateExecutionListener
issue/540_567_No_Proxy_Config_Trusted_Reverse_Proxies
schwzr
reviewed
Oct 12, 2026
schwzr
left a comment
Member
There was a problem hiding this comment.
- We should disable / reject wildcards in the allowed reverse proxies config, as they are silently converted to the base domain
- We should remember to announce the breaking change (by default)
- We should maybe inform that internal caching of DNS Records is happening as well (see https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/doc-files/net-properties.html#address-cache-heading)
- We might have to allow
*as a no-proxy URL, as https://github.com/datasharingframework/dsf/blob/main/dsf-common/dsf-common-config/src/main/java/dev/dsf/common/config/ProxyConfig.java#L35C1-L36C1 describes this case
- Remove never used JettyServer#httpConnector(ServerSocketChannel, String, Duration, List<HostSpec>) function. - Simplified trusted proxy matcher config code and fixed an inconsistent HostSpec type check (isDomain vs. isDomainOrWildcard). The DynamicHostnameMatcher used for the trusted proxy config only supports non wildcard domains (isDomain). Configured wildcard domains would have been completely ignored.
Member
Author
They were never enabled, but the code had an inconsistent config value type (domain or wildcard-domain) checks. Wildcard domains would have been full ignored. Fixed via b6d060e.
Yes.
I added a comment about the Java
I removed the special |
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.
X-ClientCertheader values from trusted / configured reverse proxy senders.disabledas the only allowed reverse proxy.example.com, one level wildcard sub-domains*.example.com, one or more level wildcard sub-domains**.example.com, IP-addresses and CIDR Networks.Breaking Change: No-proxy hostnames without
*.prefix no longer match subdomains.closes #540
closes #567
Modified config property
DEV_DSF_PROXY_NOPROXY
example.com, against one level sub-domains*.example.com, one or more level sub-domains**.example.com, against IP-addresses and CIDR Networks if the target URL is specified as IP-address (IPv6 in square brackets), if no port is specified - all ports are matched; comma or space separated list, YAML block scalars supportedsub.exact.com:80, *.one.level.wildcard.com, **.multilevel.com:443, 192.168.1.1, 192.168.1.0/24:80, [2001:db8::1]:443, [2001:db8::/32]New config properties
DEV_DSF_SERVER_AUTH_TRUST_REVERSE_PROXY
disabledto allow all incoming IP addressesproxy, ingress.cluster.local, 192.168.1.1, 192.168.1.0/24, [2001:db8::1], [2001:db8::/32]disabledand use Network PoliciesproxyDEV_DSF_SERVER_AUTH_TRUST_REVERSE_PROXY_HOSTNAME_REFRESH_TIMEOUT
PT10S