网站强制启用htpps银行回写问题

问题描述

网站最初未强制启用htpps,使用http、https都能访问。银行回写支付结果的地址,设置的是http协议地址。各银行设置方法不一。
启用强制https访问时,未考虑银行回写问题,导致支付结果未能正常被serlet接收。

解决方案:

Nginx中,匹配银行通知规则不强制跳转https

server {
        listen       80;
        server_name  xxx.xxx.com;
        charset utf-8;
       if ($request_method ~* HEAD|DELETE|PUT) {
            return 403;
        }
       location / {
            return 301 https://$server_name$request_uri;
        }
        location ^~ /xxx/pay/notify {
            proxy_connect_timeout 1;
            proxy_pass http://ufshop;
            proxy_buffering off;
            proxy_redirect default;
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-NginX-Proxy true;
            add_header X-Frame-options SAMEORIGIN;
        }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容