You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel Herd环境中Laravel Reverb启用HTTPS时出现cURL HTTP/0.9错误求助

Laravel Herd环境中Laravel Reverb启用HTTPS时出现cURL HTTP/0.9错误求助

看起来你在Laravel Herd开发环境中配置Laravel Reverb启用HTTPS时遇到了棘手的cURL错误,我来帮你梳理下可能的解决思路!

首先还原下你遇到的错误信息:

GuzzleHttp\Exception\RequestException: cURL error 1: Received HTTP/0.9 when not allowed for http://127.0.0.1:8080/apps/local/events?auth_key=local-key&auth_timestamp=1756475569&auth_version=1.0&body_md5=baf98ab9765fdd4ce6328183d1646a5a&auth_signature=2828b9b5b9db7af8f931e42c37b138a9456babfa1ae0df72cb5d395e03a05b40 in /Users/chris/Herd/utility.com/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php:278

你的.env相关变量配置:

REVERB_APP_ID=local
REVERB_APP_KEY=local-key
REVERB_APP_SECRET=local-secret
REVERB_PORT=443
REVERB_HOST=utility.com.test
REVERB_SCHEME=https

问题分析

这个错误的核心是:你的请求期望HTTPS响应,但实际收到了HTTP/0.9格式的响应(通常是请求到了不支持HTTPS的服务端,或者端口/协议配置不匹配)。既然HTTP模式下正常,说明Reverb的基础功能没问题,问题出在HTTPS的配置衔接上——特别是Laravel Herd的SSL代理和Reverb自身配置的匹配。

可能的解决步骤

  • 调整Reverb的端口配置
    Laravel Herd本身会在443端口处理HTTPS请求,然后反向代理到你的Laravel应用和Reverb服务。如果Reverb本身并没有直接在443端口启用SSL(默认Reverb是在8080端口跑HTTP),那你设置REVERB_PORT=443就会导致请求直接打到Herd的Nginx,而不是Reverb服务,从而返回不符合预期的响应。
    建议把REVERB_PORT改回Reverb实际监听的HTTP端口(比如默认的8080),让Herd的HTTPS代理来转发请求到Reverb的HTTP端口,这样REVERB_SCHEME=https和REVERB_HOST=utility.com.test的配置就能正常工作。

  • 验证Reverb的TLS配置
    打开config/reverb.php文件,检查tls配置项:如果是通过Herd代理处理SSL,Reverb本身不需要启用TLS,所以确保tls设置为false(或者关联的REVERB_TLS环境变量设为false)。如果强制让Reverb启用TLS,你需要为本地环境配置SSL证书,这在Herd环境下通常没必要,因为Herd已经帮你处理了。

  • 测试端点的可访问性
    用curl命令直接测试HTTPS端点,看看实际响应:

    curl -v https://utility.com.test/apps/local/events?auth_key=local-key&auth_timestamp=1756475569&auth_version=1.0&body_md5=baf98ab9765fdd4ce6328183d1646a5a&auth_signature=2828b9b5b9db7af8f931e42c37b138a9456babfa1ae0df72cb5d395e03a05b40
    

    同时对比HTTP端点的响应:

    curl -v http://127.0.0.1:8080/apps/local/events?auth_key=local-key&auth_timestamp=1756475569&auth_version=1.0&body_md5=baf98ab9765fdd4ce6328183d1646a5a&auth_signature=2828b9b5b9db7af8f931e42c37b138a9456babfa1ae0df72cb5d395e03a05b40
    

    从响应中可以确认HTTPS请求是否真的转发到了Reverb服务,还是被其他服务拦截了。

  • 确认Herd的域名配置
    确保utility.com.test已经在Laravel Herd中正确配置,并且可以通过HTTPS正常访问你的Laravel应用(比如访问https://utility.com.test能看到应用页面)。如果Herd的SSL配置有问题,也会导致转发Reverb请求时出现异常。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 08:58:05