【发布时间】:2015-10-11 11:22:23
【问题描述】:
我在 Debian VPS 网络服务器上使用 Node/Express/Mongoose/MongoDB,但由于某种原因,在线 CORS 请求没有触发。让我说一切都在我的本地服务器上完美运行。
当我将它上传到我的 Debian VPS 网络服务器时,cors 请求从未通过。我知道这一点,因为调试日志永远不会触发。 MongoDB 服务器正在运行并且 node/express 服务器正在运行。我已经 npm 重新安装了 express/mongoose 甚至是 cors 插件很多次,我认为这些不是问题......
我已经在服务器上使用带有 -origin 标志的 cURL -H 进行了测试。响应在控制台中正确返回。这使我相信 CORS 请求以某种方式被阻止(可能是浏览器??),甚至从未到达快速服务器。我尝试启动没有安全标志的浏览器也无济于事......一个奇怪的事实是,当响应确实返回 w/cURL 时,即使我用标志指定了一个来源,它们有时也会列出不同的来源。令人困惑...
我尝试了很多不同的时间和方式来更改访问源。我试过允许所有这些。我尝试允许特定于请求的请求...我尝试使用 apache2 标头 mod 并使用 .htaccess 文件来允许 cors。我也尝试过 PHP 标头,但无济于事。
网址:www.kensnote.com
浏览器错误响应如下:
Chromium-browser: "Failed to load resource"
Firefox: 跨域请求被阻止:同源策略不允许读取位于http://localhost:10005/threadpreview 的远程资源。 (原因:CORS 请求失败)。
Firefox Firebug 请求标头:
接受 application/json, text/javascript, /; q=0.01 Accept-Encoding gzip, deflate Accept-Language en-US,en;q=0.5 Cache-Control max-age=0 Connection keep-alive DNT 1 Host localhost:10005 If-None-Match W/"ssUy2L+Up13MCm2LISgPtQ==" Origin
http://www.kensnote.comReferer http://www.kensnote.com/ 用户代理 Mozilla/5.0 (X11; Linux i686; rv:39.0) Gecko/20100101 火狐/39.0
【问题讨论】:
标签: node.js curl mongoose debian cors