memcached TCP 및 UDP를 비활성화하시겠습니까?

memcached TCP 및 UDP를 비활성화하시겠습니까?

나는 memcached.conf다음을 가지고 있습니다 :

# -l 127.0.0.1
# -p 11211

내 의도는 유닉스 소켓 이외의 다른 것을 통해 서비스를 사용하지 않기 때문에 모든 TCP 또는 UDP 바인딩을 비활성화하는 것입니다.

이 구성으로 내가 원하는 효과를 얻을 수 있나요?

답변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

1인당 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작동할 수 있지만 소켓 경로가 지정되지 않으면 실제로 작동하지 않기 때문에 의미가 없습니다.

관련 정보