Получил сервер Graphql, вызванный через простой вызов извлечения на клиенте, тот же самый сбой вызова только в Safari (это нормально для всех других браузеров).
Summary
URL: https://localhost.dev.mysite.co.uk:6443/graphql/reauth
Status: 500 Internal Server Error
Source: Network
Address: 127.0.0.1:6443
Request
POST /graphql/reauth HTTP/1.1
Content-Type: application/json
Accept: */*
Accept-Language: en-gb
Accept-Encoding: gzip, deflate, br
Host: localhost.dev.mysite.co.uk:6443
Origin: https://localhost:3010
Content-Length: 0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Safari/605.1.15
Referer: https://localhost:3010/
Connection: keep-alive
mysite-request-id: app=knowledge-base-explorer;user=11TaQGCoQemC3iTH;session=11U1DIv5yPlABupn;event=11U98g9oPenSYTxp
X-App-Name: knowledge-base-explorer
X-Platform: web
Response
HTTP/1.1 500 Internal Server Error
Access-Control-Allow-Origin: https://localhost:3010
Content-Type: text/html; charset=utf-8
Pragma: no-cache
Content-Security-Policy: default-src 'self'
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Expires: 0
Cache-Control: no-store, no-cache, must-revalidate, proxy-revalidate
Date: Fri, 08 Nov 2019 14:46:59 GMT
Access-Control-Allow-Credentials: true
Content-Length: 1331
Connection: keep-alive
X-Content-Type-Options: nosniff
X-DNS-Prefetch-Control: off
Vary: Origin
X-Powered-By: Express
X-Download-Options: noopen
Strict-Transport-Security: max-age=15552000; includeSubDomains
Surrogate-Control: no-store
В то же время очень похожие вызовы всегда работают без проблем
Summary
URL: https://localhost.dev.mysite.co.uk:6443/graphql/anonymous-auth
Status: 200 OK
Source: Network
Address: 127.0.0.1:6443
Request
POST /graphql/anonymous-auth HTTP/1.1
Accept: */*
Content-Type: application/json
Origin: https://localhost:3010
Content-Length: 37
Accept-Language: en-gb
Host: localhost.dev.mysite.co.uk:6443
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Safari/605.1.15
Referer: https://localhost:3010/
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Response
HTTP/1.1 200 OK
Set-Cookie: {...}
Set-Cookie: {...}
Cache-Control: no-store, no-cache, must-revalidate, proxy-revalidate
Access-Control-Allow-Origin: https://localhost:3010
Pragma: no-cache
Content-Length: 2619
Vary: Origin
X-XSS-Protection: 1; mode=block
Date: Fri, 08 Nov 2019 14:47:00 GMT
Connection: keep-alive
Expires: 0
X-DNS-Prefetch-Control: off
X-Frame-Options: SAMEORIGIN
Access-Control-Allow-Credentials: true
Content-Type: application/json; charset=utf-8
ETag: W/"a3b-unvctDjSHA44qoD+Y4lscHjXW88"
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=15552000; includeSubDomains
X-Download-Options: noopen
Surrogate-Control: no-store
X-Powered-By: Express
Я полагаю, это ошибка CORS, поскольку отключение Prevent cross-site tracking
в Safari решает проблему. Это может быть вызвано заголовком CSP (который отображается только при первом вызове), но в этом случае я не знаю, как его удалить, поскольку не могу найти ни одной строки, в которой установлен заголовок Content-Security-Policy.