我有一個快速服務器,它允許前端從它作業正常的資料庫中獲取資訊。Cors 設定了前端白名單,但是,嘗試獲取影像(已上傳并保存)后,除了 500 錯誤外一無所獲。我嘗試禁用 cors 并且它作業正常但任何來源都可以做我不想要的事情。我在啟用了 proxy 和 proxy_http mod 的情況下使用 apache,因此它可以訪問在 pm2 上運行的 express js 服務器。服務器js上的代碼:
const whiteList=['domain.com'];
const corsOptions = {
origin:function(origin, callback){
if(whiteList.indexOf(origin) !== -1){
callback(null, true);
} else{
callback(new Error('Not allowed by CORS'));
}
}
}
app.use(cors(corsOptions));
我什至嘗試在 apache 中設定 cors 標頭,但它不起作用,因為它仍然允許來源而不是串列。
uj5u.com熱心網友回復:
所以我可以通過這樣做來解決這個問題:
app.use(cors({origin: "https://example.com", allowedHeaders: ["Authorization", "Content-Type"]}));
實際發現的問題是服務器沒有發回所有 cors 標頭,包括:Access-Control-Allow-Headers,它塞滿了所有東西。
這似乎可能是 cors 包的一個錯誤,因為它的引數在他們自己的物件中設法弄亂了服務器回傳的內容,所以現在它必須看起來有點難看。
我什至確實遵循了 cors 檔案所說的內容,但是,這奇怪地導致了更多問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/370212.html
