在具有多个 NIC 的系统 (CentOS 6) 上,每个 NIC 连接到 ISP,如何使用客户端计算机上的一个特定 NIC 连接到 Internet 上的 MySQL 服务器?
客户端连接器是 PHP/PDO。
默认路由设置为所需的 NIC,但 PDO 不起作用。
最佳答案
想到的唯一想法是将连接过程放入容器(docker/rkt)中,并仅绑定(bind)容器内的正确接口(interface)。这仅在以下情况架构中才有意义!
- http 服务器和 fpm [或一般的 PHP] 是分开的(无 apache_mod)
- php 容器内只有 1 个可用的 NIC
这可以说不是最好的解决方案(至少我不太喜欢它),但它是一个可能的解决方法。
另一种解决方案是创建/使用代理,该代理使用正确的 NIC 进行转发并转发它,以便您连接到“本地 IP”,其余部分通过代理处理。这应该通过文件套接字完成,以便网络堆栈仅往返于代理。
php 票证 https://bugs.php.net/bug.php?id=66208仍然开放,所以我不会很快指望它。
希望这对你有一点帮助,我也面临着类似的问题。但我的设置非常复杂,这个答案只是我的想法!所以请善待:)
关于php - 如何通过网络设备使用PDO连接MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29040948/