我繼承了一個托管在 Azure 中的 Web 應用程式,看起來暫存環境 CORS 的功能與所有其他環境不同。
我對 Azure 管理還很陌生,我在 API 應用服務(以前沒有配置集)上應用了 CORS 配置,但沒有解決問題。

您可以在下面比較不同的環境通用/回應標頭。
本地開發...
Request URL: http://localhost:3001/api/getstarted/plans?fetchExcluded=true
Request Method: GET
Status Code: 200 OK
Remote Address: [::1]:3001
Referrer Policy: strict-origin-when-cross-origin
Access-Control-Allow-Origin: *
Connection: keep-alive
Content-Encoding: gzip
Content-Type: application/json; charset=utf-8
Date: Thu, 04 Nov 2021 21:55:22 GMT
Keep-Alive: timeout=5
Strict-Transport-Security: max-age=15552000; includeSubDomains
Transfer-Encoding: chunked
Vary: Accept-Encoding
X-Content-Type-Options: nosniff
X-DNS-Prefetch-Control: off
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
目前生產...
Request URL: https://api.<webapp>.app/api/getstarted/plans?fetchExcluded=true
Request Method: OPTIONS
Status Code: 204 No Content
Remote Address: ##.###.###.###:443
Referrer Policy: strict-origin-when-cross-origin
Access-Control-Allow-Headers: authorization
Access-Control-Allow-Methods: GET,HEAD,PUT,PATCH,POST,DELETE
Access-Control-Allow-Origin: *
Date: Thu, 04 Nov 2021 22:04:19 GMT
Strict-Transport-Security: max-age=15552000; includeSubDomains
Vary: Access-Control-Request-Headers
X-Content-Type-Options: nosniff
X-DNS-Prefetch-Control: off
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
然而在舞臺...
Request URL: https://<webapp>.azurewebsites.net/api/getstarted/plans?fetchExcluded=true
Request Method: OPTIONS
Status Code: 503 Service Temporarily Unavailable
Remote Address: ##.###.###.###:443
Referrer Policy: strict-origin-when-cross-origin
Content-Length: 398
Date: Thu, 04 Nov 2021 21:56:02 GMT
Server: nginx
并從除錯控制臺登臺...
- Access to XMLHttpRequest at
'https://<webapp>.azurewebsites.net/api/getstarted/plans?fetchExcluded=true'
from origin 'https://<webapp>.z8.web.core.windows.net' has been
blocked by CORS policy: Response to preflight request doesn't pass
access control check: No 'Access-Control-Allow-Origin' header is
present on the requested resource. xhr.js:178
- GET
https://<webapp>-api-staging.azurewebsites.net/api/getstarted/plans?fetchExcluded=true
net::ERR_FAILED
我檢查了 Azure 訂閱使用量 配額,唯一接近配額的是“網路觀察者”
API 框架是帶有 CORS 的 ExpressJS ...
app.use(cors())
uj5u.com熱心網友回復:
在我看來,這個問題與 CORS 無關,好吧,最好說,...
正如您在登臺環境中看到的,您收到了一個503服務不可用的 HTTP 狀態錯誤代碼:
Status Code: 503 Service Temporarily Unavailable
所以我的猜測是登臺環境由于某種原因無法正常作業,并且相關的負載均衡器正在回傳一個503錯誤頁面,當然,沒有任何 CORS 指示,并且您的瀏覽器由于您的 API 沒有收到而抱怨一個有效的回應。
請檢查暫存環境的狀態:一旦健康,它可能會為您的應用程式提供適當的回應。
uj5u.com熱心網友回復:
不幸的是,問題根本不是 CORS;相反,由于 ESNext JS 語法(服務器 < ESNext),服務器映像無法構建和編譯
我找到了 logstream API,它允許我查看所有錯誤,為了后代,您可能會找到相同的錯誤; https://<webapp>.scm.azurewebsites.net/api/logstream
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/352019.html
標籤:天蓝色 科尔斯 azure-web-app-service
下一篇:如何在運行時更改變數名稱
