我们的公众号web站点代码在Windows服务器IIS下运行没有问题,迁移到linux 服务器的nginx下之后,出现了微信授权和接口授权无法通过引起的问题。如下图所示:
经过排查,发现是因为nginx配置默认对 http 配置节下的 underscores_in_headers 配置设置的是off, 网上说的这个配置是 当underscores_in_headers为on,会导致Nginx不会忽略header存在下划线(_)的header名称项。否则会忽略掉。 那我们系统里面是有些参数是存储在header里面传递来实现公众号和业务接口授权的。所以把这个设置打开,重启nginx或者重启服务器就好了
至于怎么找nginx配置文件, 在命令行中输入 nginx -t 就可以看到系统的nginx文件的位置。