(以Nginx配置为例)内外网转发端口不一致、导致打开客户端失败的解决方案原创
金蝶云社区-Webb
Webb
4人赞赏了该文章 105次浏览 编辑于2020年9月25日 11:41:35
  1. 写在开头:一般我们还是强烈建议客户让内外网端口保持一致,避免遇到其他网络问题;如果不想开放的默认80端口,可以参照我的另一篇文章:https://vip.kingdee.com/article/97286154675566848?share_fromuid=72313,改成其他端口;如果网络复杂,实在需要处理这种内外网端口不一致的场景,请参考下面步骤;

  2. 找到服务器上的K3Cloud安装目录,打开Kingdee\K3Cloud\WebSite\App_Data\Common.config,在AppSettings结点中添加配置:<add key="ForwardLoginUrl" value="{X-Forwarded-Proto}://{Forward-x-RequestHost}:{X-Forwarded-Port}" />image.png

  3. 修改Nginx配置,在监听处添加指定的头部信息,举例如下:image.png

  4. 分别重启IIS和Nginx服务即可。


小结:心细的童鞋会发现,Nginx中设置的header信息,实际正好对应Common.config中添加的配置参数中的X-Forwarded-ProtoX-Forwarded-Port,nginx中也可灵活一些写变量$server_port来替代9012这种固定值的写法,含义是外部请求到达nginx服务器时的端口

4