Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions docs/modules/ROOT/pages/spring-cloud-netflix.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -615,6 +615,34 @@ public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Excepti
}
----

=== Securing Eureka Replication Requests

When running a Eureka cluster, replication requests between Eureka servers
(e.g., `/eureka/peerreplication/...`) are internal calls and do not pass through
standard Spring Security filters.

As a result, authentication mechanisms such as OAuth2 token injection that work
for client requests (registration, heartbeat) are not automatically applied to
replication requests.

To customize replication requests (for example, to add authentication headers),
you can define a `ReplicationClientAdditionalFilters` bean:

[source,java,indent=0]
----

@Bean
public ReplicationClientAdditionalFilters additionalFilters() {
return new ReplicationClientAdditionalFilters(Collections.emptyList());
}
----

Custom filters provided in this bean can be used to modify outgoing replication
requests, such as injecting OAuth2 tokens or additional headers.

NOTE: This customization is required when securing communication between Eureka
nodes in a cluster.

For more information on CSRF see the https://docs.spring.io/spring-security/site/docs/current/reference/htmlsingle/#csrf[Spring Security documentation].

A demo Eureka Server can be found in the Spring Cloud Samples https://github.com/spring-cloud-samples/eureka/tree/Eureka-With-Security-4.x[repo].
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The documentation should be added after this line

Expand Down
Loading