老张小站

  1. 欢迎光临

    感谢访问老张的博客!

  • 1
4,445

Discuz X3.* 使用CDN/反向代理开启 SSL / HTTPS 后需解决的问题

分类 网站技术/村民张先生 发布于 2017-09-20 21:51
0

当Discuz X3.*前端架设了反向代理服务器,且反向代理服务器上开启了SSL,而代理与源站间使用HTTP协议通信时,页面上的AJAX仍然会请求HTTP地址,导致被浏览器阻止,无法提交回帖、无法弹出管理窗口等。

我们可以进行以下修改,使AJAX正确请求HTTPS地址。

打开 source/class/discuz/discuz_application.php 文件,查找:

		$_G['siteurl'] = dhtmlspecialchars('http'.($_G['isHTTPS'] ? 's' : '').'://'.$_SERVER['HTTP_HOST'].$sitepath.'/');

替换为:

		$_G['siteurl'] = dhtmlspecialchars('http'.($_G['isHTTPS'] || in_array($_SERVER['REMOTE_ADDR'], array('代理服务器IP','代理服务器IP')) ? 's' : '').'://'.$_SERVER['HTTP_HOST'].$sitepath.'/');

请注意,如果你的代理服务器有多个IP地址,请填写其请求源站时的主IP地址。

更多相关内容:

https://www.zhang.cq.cn/wenzhang-1587.html

https://www.zhang.cq.cn/wenzhang-1419.html

欢迎转载分享,转载请注明 来源:大张小站 https://www.zhang.cq.cn/20171967.html
若您喜欢这篇文章,欢迎订阅老张小站以获得最新内容。 / 欢迎交流探讨,请发电子邮件至 mail[at]vdazhang.com 。


欢迎谈谈你的看法(无须登录) *正文中请勿包含"http://"否则将被拦截