2017-05-19 102 views
0

我正在開發一個API(使用Node.js)並且使用Socket.io與Express,我向CORS呈現了一些錯誤,我使用Express和Socket解決了這個問題.io 2.0在本地主機上,這與* .azurewebsites.net工作,但現在工作。Azure Web應用程序Websockets CORS:訪問控制 - 允許來源

測試對於Express(請參閱控制檯):http://crawlerbackend.azurewebsites.net/test_cors_express_azure.html

測試對於Socket.io(見控制檯):http://crawlerbackend.azurewebsites.net/test_cors_socketio_azure.html

但我需要暴露我Socket.io API給大家,因爲我的客戶requiere它,測試在Heroku的同一文件:

測試對於Express(請參閱控制檯):https://testcrawlersite.herokuapp.com/test_cors_express_azure.html

測試對於Socket.io(見控制檯):https://testcrawlersite.herokuapp.com/test_cors_socketio_azure.html

我遵循最佳的Express和Socket.io實踐根據他們的文檔。我有一個獨特的結論,我需要IISNode中的配置?或在門戶網站?與選項「CORS」(用*設置)不同。 fake configuration?

這是錯誤:

XMLHttpRequest cannot load https://crawlerbackend.azurewebsites.net/socket.io/?EIO=3&transport=polling&t=LmW1TfL. The value of the 'Access-Control-Allow-Origin' header in the response must not be the wildcard '*' when the request's credentials mode is 'include'. Origin 'https://testcrawlersite.herokuapp.com' is therefore not allowed access. The credentials mode of requests initiated by the XMLHttpRequest is controlled by the withCredentials attribute. 

回答

相關問題