tomcat的restful api在nginx后面,nginx实现https转http。之前配置如下:
location /myapi/ {
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Access-Control-Allow-Origin *;
proxy_pass <后台url>;
proxy_redirect http:// https://;
}
不论网页还是app都能正常使用。后台spring mvc加了@CrossOrigin。
但最近客户端换webview引擎后,不行了。网上搜了一大堆,有的说用add_header,有的说用proxy_set_header,有的说还要设置access-control-allow-methods和access-control-allow-headers,有的说要单独处理OPTIONS请求......都试过,不成功。还有个奇怪的现象,如果客户端和nginx都在本机时,每失败两次请求(报404),就成功一次,与具体是什么请求无关;如果不在同一台机器时,则全部失败。
location /myapi/ {
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Access-Control-Allow-Origin *;
proxy_pass <后台url>;
proxy_redirect http:// https://;
}
不论网页还是app都能正常使用。后台spring mvc加了@CrossOrigin。
但最近客户端换webview引擎后,不行了。网上搜了一大堆,有的说用add_header,有的说用proxy_set_header,有的说还要设置access-control-allow-methods和access-control-allow-headers,有的说要单独处理OPTIONS请求......都试过,不成功。还有个奇怪的现象,如果客户端和nginx都在本机时,每失败两次请求(报404),就成功一次,与具体是什么请求无关;如果不在同一台机器时,则全部失败。