情况是这样的:
1# 域名解析商 解析到 百度云加速器,再从百度云加速解析到源站IP,103.25.199.246;之后客户端打开完全正常,如下图显示中间的框架显示正常。
2# 下面是自己用Nginx来实现的反代加速,
源站是:mkt.guticn.com
源站IP是:103.25.199.246
代理域名是:mkt.guticn.com
代理IP是:自己代理的公网IP
代理上的nginx配置是
server {
server_name mkt.guticn.com;
listen 80;
location / {
proxy_buffering 'off';
proxy_ignore_headers 'X-Accel-Buffering';
proxy_hide_header 'Access-Control-Allow-Origin';
proxy_hide_header 'Cache-Control';
proxy_set_header Host mkt.guticn.com
proxy_pass http://mkt.guticn.com;
proxy_set_header X-Real-IP '$remote_addr';
proxy_set_header X-Forwarded-For '$proxy_add_x_forwarded_for';
proxy_hide_header 'content-security-policy';
proxy_set_header Accept-Encoding '';
proxy_ignore_client_abort 'on';
proxy_set_header Accept-Language 'zh-CN';
proxy_set_header Connection 'upgrade';
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Accept';
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Content-Type' 'text/plain charset=UTF-8';
add_header 'Content-Length' 0;
return 204;
}
if ($request_method = 'POST') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Accept';
}
if ($request_method = 'GET') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Accept';
}
proxy_redirect ~http(.)guticn.com(.) http$guticn.com$2;
proxy_cookie_domain guticn.com guticn.com;
}
}
打开http://mkt.guticn.com/onebook... ,出现400,如下图显示 ,
不能显示,很奇怪啊,怎么查都查不出,也抓过包过,也没问题,就是出现400,烦的呢,小妹妹我都快疯了,搞了几个月了呢,老板总是催。
0x1# 然后百度云加速的就可以这样实现,又不出现400,
0x2# 我也拿了加速乐来试试,然后也是出现400错误,
0x3# 我就觉得了,一定是配置不对的吗?
不知道有没有大神会呢?还是本妹子的配置错误呢。
看到的朋友,可以试试看哦,测试方法:
1、开一台虚拟机,把上面的配置弄上去,
2、把自己的实体机HOST改成虚拟机上,访问就可以测试了。谢谢大家啦。
阿神2017-05-16 17:16:52
妹子。
既然是400的错误,而且还是必现的问题,那就一步一步定位,解决问题无法是排除法。我只能给你点建议了。
确定请求终点(就是出现问题的地方)nginx 通过 access.log 可以查看的
将配置最简化,保证在最基础的配置下功能能够正常运行,避免多余的干扰
源站是:mkt.guticn.com
代理域名是:mkt.guticn.com 你这2个域名都是一样的吗?客户端访问mkt.guticn.com
地址,nginx又转发到mkt.guticn.com
地址,这样配置是啥意思?
过去多啦不再A梦2017-05-16 17:16:52
1、没有什么日志返回哦,返回的就是POST 400那一条,有用的日志,其他的都是正常的日志的。
2、那个已经测试过了,最简单化的反向代理,一样是没有结果的呢。
就是像做CDN加速一样。