如何解决DDEV 通过 SSH 隧道从登台服务器连接到 MySQL 数据库返回:无法分配请求的地址
我正在 DDEV 环境中本地开发一个 TYPO3 项目。所有开发人员都希望访问同一个 MySQL 数据库。我们希望通过到登台服务器的 SSH 隧道来实现这一点。不幸的是,我无法从 DDEV 建立到数据库的 SSH 隧道。
我该怎么办?
ddev exec ssh -v -L 3306:127.0.0.1:3306 customer@stage.customer.tld
发生的错误:
debug1: Local forwarding listening on ::1 port 3306.
bind [::1]:3306: Cannot assign requested address
还有其他端口,总是同样的错误。我必须在 DDEV 中设置什么才能使其工作?
感谢您的支持!
解决方法
问题解决了。
我所要做的就是切换到一个空闲端口,就我而言:3308
所以这段代码工作正常:
<div *ngIf="data$ | loadingPipe | async> </div>
感谢您的帮助!
,正如上面的评论,我知道没有理由使用隧道而不是直接访问目标服务器。
但如果必须的话,答案在 https://www.electricmonk.nl/log/2014/09/24/ssh-port-forwarding-bind-cannot-assign-requested-address/ - 你需要使用 ssh -4 -L 3306:127.0.0.1:3306 customer@stage.customer.tld
请注意,在 ddev 中,mariadb/mysql 服务器并未在 Web 容器内运行,它是一个单独的容器,因此无论如何将隧道放在 Web 容器中的 3306 上可能是错误的。除了不需要隧道。
此外,sshd(在您的服务器上)默认情况下不允许这种隧道,您必须在服务器上启用 AllowTcpForwarding。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。