当我在本地做事时,我的CORS调用工作正常
$ curl -i -X OPTIONS "http://localhost:3000/api/v1/login"
HTTP/1.1 200 OK
X-Powered-By: Express
Access-Control-Allow-Origin: http://localhost:9000
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: GET,PUT,POST,DELETE,OPTIONS
Access-Control-Allow-Headers: Content-Type
Content-Type: text/plain
Content-Length: 2
Set-Cookie: connect.sid=blablabla; Path=/; HttpOnly
Date: Wed, 02 Apr 2014 13:46:30 GMT
Connection: keep-alive
OK
但是当我在heroku上部署并尝试相同时,它不再起作用了:
$ curl -i -X OPTIONS "http://<myapp>.herokuapp.com/api/v1/login"
curl: (52) Empty reply from server
知道那可能是什么原因?
答案 0 :(得分:2)
我为此提交了一张票,事实证明,事情并不容易排除故障,但答案非常简单:使用https代替http来打电话
答案 1 :(得分:0)
没有响应可能是由与此类似的配置引起的:
OPTIONS
这意味着nginx会在没有正确响应的情况下关闭连接,这就是为什么调试这么困难的原因。
在配置中搜索444返回代码。如果您发现上述内容,只需将try
{
OracleConnection con;
con = new OracleConnection();
con.ConnectionString = "DATA SOURCE=<DSOURCE_NAME>;PERSIST SECURITY INFO=True;USER ID=******;PASSWORD=*******";
con.Open();
}
catch (OracleException ex)
{
Console.WriteLine("Oracle Exception Message");
Console.WriteLine("Exception Message: " + ex.Message);
Console.WriteLine("Exception Source: " + ex.Source);
}
catch (Exception ex)
{
Console.WriteLine("Exception Message");
Console.WriteLine("Exception Message: " + ex.Message);
Console.WriteLine("Exception Source: " + ex.Source);
}
添加到列表中。