部署服务的时候,用nginx做负载均衡,反向代理
但是网页的微信分享总是失败,提示签名错误。
经过各种排查,发现用来计算签名的url,带上了端口号,导致签名计算有误
后端程序使用的是.net
用Request.Url来获取当前URL,获取到的请求地址里带上了本地端口号。
解决办法
可以通过在web.config的appSetting节点新增一个键值,使之使用"HOST"标头提供的主机和端口作为动态请求地址,而不是默认的Web服务器,如下:
<appSettings>
<add key="aspnet:UseHostHeaderForRequestUrl" value="true" />
</appSettings>
以上