使用Amazon ELB时Laravel响应异常:AirBnB iCal导入失败排查
Laravel生成的iCal Feed经ELB转发后无法导入AirBNB
背景
服务部署于搭载nginx和PHP 7.4的Amazon Linux EC2实例,使用Laravel v8.83.5,前端由Elastic Load Balancer(ELB)提供负载均衡。我们向客户提供iCalendar Feed URL,用于导入至AirBNB、VRBO等OTA平台。
问题
- iCal Feed URL可被VRBO正常接受并解析;
- 导入AirBNB时提示「无法同步日历,请重试导入」,但浏览器访问可正常下载
.ics文件,导入其他兼容iCal的日历工具也正常,且iCal语法验证通过。
排查步骤
- 在无ELB的Digital Ocean服务器(同样配置nginx+PHP7.4)部署相同响应内容的URL,AirBNB可正常导入;
- 通过Postman对比两台服务器的响应,内容及通用响应头一致;
- nginx访问日志显示两台服务器返回给AirBNB的状态码均为200;
- ELB后的服务器提供静态
.ics文件URL给AirBNB时,可正常导入。
已尝试方案
- 禁用nginx的gzip压缩和缓存控制配置;
- 在ELB后的服务器切换为apache替代nginx;
- 移除该iCal路由上的所有Laravel全局中间件。
内容的提问来源于stack exchange,提问作者Himanshu Sharma
相关产品推荐
相关产品推荐

