禁用 memcached TCP 和 UDP?

禁用 memcached TCP 和 UDP?

memcached.conf我有:

# -l 127.0.0.1
# -p 11211

我的目的是禁用任何 TCP 或 UDP 绑定,因为我不通过 unix 套接字以外的任何方式使用该服务。

这样的配置能达到我想要的效果吗?

答案1

取决于memcached的版本;作为-l 127.0.0.1 -p 12111唯一的选项,memcached 将侦听 TCP 和 UDP 端口 11211,尽管仅侦听 127.0.0.1。

这是禁用任何 TCP 或 UDP 绑定并将权限设置为可供系统上的任何用户使用的最典型方法。如果您只希望特定用户访问套接字,则可以通过其他方式对后者进行微调。

   -s /tmp/memcached.sock
   -a 666

每人 memcached(1) ...

   -a <perms>
          Permissions (in octal format) for Unix socket created with -s option.

   -s <file>
          Unix socket path to listen on (disables network support).

...请注意,无论所有其他选项如何,如果-s指定,它将禁用所有网络支持(TCP 和 UDP),并且不会绑定到任何接口。指定 有点误导-l 127.0.0.1 ... -s /tmp/memcached.sock,即使它会接受这些选项。

禁用 memcached 网络支持的另一种方法是告诉它侦听端口 0。

   -p <num>
          Listen on TCP port <num>, the default is port 11211.

   -U <num>
          Listen on UDP port <num>, the default is port 11211, 0 is off.

在最新版本中,-U 的默认值为 0(关闭)。

在旁边;虽然手册页没有明确说明,-p 0但也会禁用 TCP,例如-l 127.0.0.1 -p 0 -U 0可以工作,尽管它毫无意义,因为除非指定套接字路径,否则它实际上无法使用。

相关内容