cowboy跨域请求处理

    这几日在使用cowboy开发https服务器的过程中碰到几个问题,这里随手记录一下。

    1)如果返回错误ERR_EMPTY_RESPONSE,那么可能是web服务器被关闭了。

    2)如果返回错误ERR_CERT_AUTHORITY_INVALID,即数字证书认证无效的问题,在开发阶段可以先浏览器中输入目标地址+端口,然后在弹出的错误页面中选择继续浏览,那么后续的请求就不会再经过证书检查处理了。

    3)如果返回错误ERR_INSECURE_RESPONSE,这往往是与CORS跨域请求有关,而且有时在发送请求前会先发送OPTIONS的预测请求,可以在cowboy的处理函数中对header作如下处理:

    Req1 = cowboy_req:set_resp_header(<<"access-control-allow-origin">>, <<$*>>, Req0),

    Req2 = cowboy_req:set_resp_header(<<"access-control-allow-methods">>, <<"POST">>, Req1),

    Req3 = cowboy_req:set_resp_header(<<"access-control-allow-headers">>, <<"content-type">>, Req2),

    cowboy_req:reply(200, Req3)...

    下面一篇帖子对CORS讲解得非常全面:https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

猜你喜欢

转载自www.cnblogs.com/Jackie-Snow/p/9105444.html