新安装OroCRM配置SSL及WebSocket后仪表板无权限错误求助
解决方案
1. 修正parameters.yml配置
Nginx侧已完成SSL终止,本地WebSocket服务运行在明文TCP协议上,原配置中后端WebSocket指向443 SSL端口属于错误配置,修改对应参数如下:
websocket_bind_address: 0.0.0.0 websocket_bind_port: 8080 websocket_frontend_host: '*' websocket_frontend_port: 443 websocket_frontend_path: 'ws' # 以下为修正后的后端配置 websocket_backend_host: '127.0.0.1' websocket_backend_port: 8080 websocket_backend_path: '' websocket_backend_transport: 'tcp' websocket_backend_ssl_context_options: { }
配置修改完成后执行应用缓存清理:php bin/console cache:clear --env=prod
重启supervisor服务生效:supervisorctl restart all
2. 修正Nginx配置错误
原配置中location /ws块的proxy_pass参数多了多余的路径斜杠,会导致转发路径匹配错误,修改如下:
# 原有错误配置 proxy_pass http://127.0.0.1:8080/$is_args$args; # 替换为正确配置 proxy_pass http://127.0.0.1:8080$is_args$args;
修改完成后重载Nginx配置:nginx -s reload
3. 服务状态校验
执行以下命令确认基础服务运行正常:
- 检查WebSocket端口监听:
netstat -tulpn | grep 8080,确认8080端口被php进程占用 - 检查supervisor服务状态:
supervisorctl status,确认oro_web_socket和oro_message_consumer所有进程均为RUNNING状态 - 手动验证WebSocket连接:安装wscat工具后执行
wscat -c wss://crm.domain.tld/ws,确认无报错、握手成功
4. API沙箱重定向问题修复
该问题由应用基础配置不匹配导致,按以下步骤修复:
- 进入OroCRM后台系统设置,确认「应用URL」配置为完整的HTTPS地址
https://crm.domain.tld - 检查应用安全配置文件中会话参数,确保
cookie_secure设为auto、cookie_samesite设为lax - 清理浏览器缓存和应用缓存后重新测试即可解决重定向循环问题
内容的提问来源于stack exchange,提问作者Vulkhan
相关产品推荐
相关产品推荐

