Memcached

禁用 memcached TCP 和 UDP?

  • November 14, 2018

memcached.conf我有:

# -l 127.0.0.1
# -p 11211

我的意圖是禁用任何 TCP 或 UDP 綁定,因為我不通過 unix 套接字以外的任何東西使用該服務。

這種配置是否達到了我想要的結果?

取決於 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會起作用,儘管它沒有意義,因為除非指定套接字路徑,否則它將實際上無法使用。

引用自:https://unix.stackexchange.com/questions/481488