php - Gearman - 客户

标签 php linux gearman

研究 PHP/Gearman。我试图了解 Gearman 服务器/进程如何确定什么构成“有效”客户端。

在我看到的文档中,文档显示了许多连接到 Gearman 服务器的客户端。但是,我没有找到任何描述服务器如何“验证”工作人员或限制工作人员/客户端从服务器访问/获取工作的内容。

作为示例,我创建了一个 Gearman 服务器,并且有一个包含 5 台子计算机的网络,每台子计算机都有一个“worker”。我邪恶的 friend 史蒂夫在网络中添加了另一台机器,它有自己的工作人员..

如何阻止 Steve 的工作人员从我的服务器获取工作!

有没有办法让客户/工作人员自行注册,这样我基本上就可以为客户/工作人员分配 ID ???

我相当确定有一种方法可以做到这一点,但我还没有遇到过。

我正在 Linux 环境上使用 PHP/MySQL/Gearman 进行测试。

谢谢

最佳答案

与 memcached 一样,gearman 没有任何访问控制或身份验证

最好的解决方案是依赖您的操作系统,例如防火墙规则。

iptables 应阻止所有传入端口 4730(标准 gearman 端口)的流量,如下所示

iptables -A INPUT -p tcp --dport 4730 -s server1 -j ACCEPT

...

iptables -A INPUT -p tcp --dport 4730 -s server5 -j ACCEPT

iptables -A INPUT -p tcp --dport 4730 -j DROP

这样,您仍然可以从本地主机使用 Gearman。

免责声明:这条规则是我的想法,请在生产服务器上运行之前仔细检查这些规则。

希望这有帮助!

关于php - Gearman - 客户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11228888/

相关文章:

php - 从 <select multiple> 框中将多个选择输入数据库

php - PHP 多表

linux : Server Questions中的C++网络编程

linux - 如何在二进制执行期间 Hook 所有 linux 系统调用

php - 如何在 Amazon AMI EC2 微型实例上安装 GearmanManager?

php - 在提交到 MySQL 数据库之前清理文本输入

php - 条件连接问题,如果一个字段为空,请选择其他值进行连接

linux - 为什么这个 inotifywait shellscript 使用两个 PID?

mysql - 如何缓存流行查询以避免出现斯塔德斯和空白结果

macos - 在 mac osx 上使用 libdrizzle 安装 gearman