mirror of
https://github.com/kemko/nomad.git
synced 2026-01-07 19:05:42 +03:00
Allow UI to query client directly
Nomad web UI currently fails when querying client nodes for allocation state end endpoints, due to CORS policy. The issue is that CORS requests that are marked `withCredentials` need the http server to include a `Access-Control-Allow-Credentials` [1]. But Nomad Task Logs and filesystem requests include authenticating information and thus marked with `credentials=true`[2][3]. It's worth noting that the browser currently sends credentials and authentication token to servers anyway; it's just that the response is not made available to caller nomad ui javascript. For task logs specifically, nomad ui retries again by querying the web ui address (typically pointing to a nomad server) which will forward the request to the nomad client agent appropriately. [1] https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials [2]101d0373ee/ui/app/components/task-log.js (L50)[3]101d0373ee/ui/app/services/token.js (L25-L39)
This commit is contained in:
@@ -41,9 +41,10 @@ var (
|
||||
|
||||
// allowCORS sets permissive CORS headers for a handler
|
||||
allowCORS = cors.New(cors.Options{
|
||||
AllowedOrigins: []string{"*"},
|
||||
AllowedMethods: []string{"HEAD", "GET"},
|
||||
AllowedHeaders: []string{"*"},
|
||||
AllowedOrigins: []string{"*"},
|
||||
AllowedMethods: []string{"HEAD", "GET"},
|
||||
AllowedHeaders: []string{"*"},
|
||||
AllowCredentials: true,
|
||||
})
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user