[英]Zuul proxy simple auth
我有一個簡單的Spring Boot應用程序,可以使用zuul代理服務器來代理一些API
@EnableZuulProxy
@SpringBootApplication
public class DemoClientApplication {
public static void main(String[] args) {
SpringApplication.run(DemoClientApplication.class, args);
}
}
application.yml
server:
port: 8080
zuul:
routes:
test:
path: /api/**
url: http://localhost:8081/api/
本地主機:8081具有基本身份驗證,類似
localhost:8081/j_spring_security_check?j_username=user&j_password=pass
返回帶有JSESSIONID的cookie並通過將此JSESSIONID設置為標頭可以獲取資源。 我不能更改localhost:8081,因為它不是我的服務。 如何獲得此JSESSIONID並設置為zuul? 我可以只使用yml嗎?
我認為您在配置選項中詢問的是敏感標題。 默認情況下, sensitiveHeaders: Cookie,Set-Cookie,Authorization
阻止標頭Cookie,Set-Cookie,授權sensitiveHeaders: Cookie,Set-Cookie,Authorization
配置。 可以覆蓋它,但是您需要確保不會在cookie的下游泄漏敏感信息:
zuul:
routes:
users:
path: /myusers/**
sensitiveHeaders:
url: https://downstream
但是首先您需要閱讀Spring Cloud文檔中為什么禁用它們:
您可以在同一系統中的服務之間共享標頭,但是您可能不希望敏感標頭泄漏到下游到外部服務器中。 您可以在路由配置中指定忽略的標頭列表。 Cookies發揮着特殊的作用,因為它們在瀏覽器中具有定義明確的語義,並且始終將它們視為敏感內容。 如果代理的使用者是瀏覽器,那么下游服務的cookie也會給用戶帶來麻煩,因為它們都混雜在一起(所有下游服務看起來都來自同一位置)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.