DDEV环境下Symfony Mercure-Hub无法通过HTTPS访问的问题
DDEV(Nginx)环境下Symfony Mercure Hub仅支持HTTP访问,HTTPS请求报ERR_SSL_PROTOCOL_ERROR
问题详情
我使用drud/ddev(基于Nginx)运行Symfony本地开发项目,此前所有操作均正常。近期需通过Mercure Hub实现服务器向客户端推送通知,已通过Composer引入symfony/mercure-bundle,并将生成的docker-compose配置内容复制到.ddev/docker-compose.mercure.yaml文件中。容器启动后Mercure Hub可正常工作,但仅能通过HTTP访问,HTTPS请求会触发ERR_SSL_PROTOCOL_ERROR错误。
我对Nginx和Docker Compose仅有基础了解,已尝试查阅Mercure Hub官方文档、配置Nginx反向代理、搜索相关资料及反复调试配置,但问题仍未解决。
按照建议修改docker-compose.mercure.yaml,将ports字段替换为expose,并添加HTTP_EXPOSE与HTTPS_EXPOSE配置后,容器未暴露任何端口,HTTPS访问问题依然存在。
可复现步骤
- 搭建基础Symfony项目并通过DDEV启动运行;
- 通过Composer引入
symfony/mercure-bundle; - 将生成的
docker-compose.yaml和docker-compose.override.yaml内容复制到.ddev目录下的docker-compose.mercure.yaml,并调整端口配置; - 在项目
.env文件中配置Mercure Hub的访问URL; - 启动DDEV容器,尝试访问
[DDEV-URL]:[MERCURE-PORT]或订阅Mercure主题。
内容的提问来源于stack exchange,提问作者Christian Neugebauer
相关产品推荐
相关产品推荐

