静态页面不能被提交post请求会报405
error_page 405 =200 https://XXX/thirdReturn.html;
这样就解决了,但后来还是直接写了服务去接收post请求的数据
页面中不能有任何的http请求
包括cdn,图片,接口请求都必须是https
于是把所有文件都放到本地解决cdn和图片http请求
接口https请求直接请求https,在nginx做转发到本地的nodehttp服务,然后用nodehttpwebserver去请求http接口
nginx
server {
root /data/caiqiu/console/wap/caiqrPay;
index index.html index.htm;
listen 80;
server_name XXX;
location / {
try_files $uri $uri/ /index.html =404;
error_page 405 =200 https://XXX/thirdReturn.html;
}
location /get_https_api_post_data/ {
proxy_pass http://127.0.0.1:8888/get_https_api_post_data;
}
location /recive_data_for_third_callback {
proxy_pass http://127.0.0.1:8888/recive_data_for_third_callback;
}
}
node request部分收到请求以后处理完毕做重定向
//连连支付回调处理
function recive_data_for_third_callback(res, postData) {
console.log('***********************连连支付回调');
console.log(postData);
try{
if(JSON.parse(decodeURIComponent(postData.split('=')[1])).result_pay == 'SUCCESS')
{
res.writeHead(302, {
'Location': 'https://xxx/xxxatus=1'
});
res.end();
}
else{
res.writeHead(302, {
'Location':'https://xxx/xxxatus=1'
});
res.end();
}
}
catch(e){
res.writeHead(302, {
'Location': 'https://xxx/xxxatus=1'
});
res.end();
}
}