如何在带公网IP与外部域名的Jelastic WordPress集群中启用环回连接
解决Jelastic WordPress集群的环回请求失败问题
遇到这种集群环境下的环回请求问题确实头疼,手动改单节点hosts根本跟不上自动扩容的节奏,我来给你几个适配Jelastic WordPress集群的可行方案:
方案一:通过内部域名区分内部/外部请求
Jelastic每个环境都有专属的内部域名(比如{你的环境名}.{服务商域名},可以在环境概览页找到),我们可以让WordPress在内部环回请求时使用这个内部域名,访客请求时保留外部域名,这样环回流量走集群内部网络,避免公网超时。
具体操作:
- 打开WordPress共享存储中的
wp-config.php(Jelastic集群的WordPress配置文件通常挂载在共享存储,确保所有应用节点共用同一配置) - 添加以下代码,替换
your-external-domain.com为你的外部域名,your-jelastic-internal-domain为环境的内部域名:// 定义外部和内部域名 $external_domain = 'https://your-external-domain.com'; $internal_domain = 'https://your-jelastic-internal-domain'; // 判断请求来源,设置对应的站点URL if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) || isset($_SERVER['HTTP_X_REAL_IP'])) { // 访客请求(经过负载均衡转发),使用外部域名 define('WP_HOME', $external_domain); define('WP_SITEURL', $external_domain); } else { // 内部环回请求,使用内部域名 define('WP_HOME', $internal_domain); define('WP_SITEURL', $internal_domain); } // 如果开启了强制SSL管理,确保内部域名也支持HTTPS define('FORCE_SSL_ADMIN', true); - 保存配置后,所有应用节点(包括未来扩容新增的节点)都会自动使用这个规则,无需手动修改hosts。
方案二:配置环境内部DNS解析外部域名
通过Jelastic的DNS管理功能,在环境内部添加外部域名的解析记录,指向负载均衡的内部IP,这样所有应用服务器访问外部域名时会直接走内部网络,无需绕公网。
具体操作:
- 登录Jelastic控制面板,进入你的WordPress集群环境
- 点击左侧菜单栏的
Settings->DNS Management - 添加一条A记录:
- 主机名:填写你的外部域名(比如
your-external-domain.com) - 值:填写负载均衡节点的内部IP(可以在负载均衡节点的
Network标签页查看)
- 主机名:填写你的外部域名(比如
- 保存记录后,Jelastic会自动在所有应用服务器(包括新增扩容节点)的内部DNS中同步这条解析,环回请求会直接走集群内部网络完成。
补充排查点
- 如果使用了自定义SSL证书,确保内部域名也绑定了该证书(Jelastic支持给内部域名添加自定义证书),避免SSL验证失败导致cURL超时
- 可以适当调整WordPress的cURL超时参数,在
wp-config.php中添加:define('WP_CURL_TIMEOUT', 30); define('WP_CURL_CONNECT_TIMEOUT', 10);
内容的提问来源于stack exchange,提问作者Michael Hartl
相关产品推荐
相关产品推荐

