Memcached
禁用 memcached TCP 和 UDP?
在
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
會起作用,儘管它沒有意義,因為除非指定套接字路徑,否則它將實際上無法使用。