Назад | Перейти на главную страницу

Разрешение удаленного подключения к серверу memcache

Мой сервер memcache запущен и работает на Сервер А.

service memcached start
memcached -d -u nobody -m 512 -p 11211 127.0.0.1
chkconfig --list | grep memcache
chkconfig memcached on

У меня также есть веб-приложение на Сервер B (другой IP). Как мне настроить Сервер А для memcache, чтобы разрешить входящие соединения от Сервер B?

По умолчанию memcached обслуживает только локальный хост, поскольку в противном случае он не имеет защиты от более широкой сети / Интернета и небезопасен. Как вы видите в опубликованных вами выходных данных, в настоящее время он обслуживает только соединения с номером 127.0.0.1:

memcached -d -u nobody -m 512 -p 11211 127.0.0.1

Итак, вам нужно отредактировать файл конфигурации и указать ему IP-адрес сетевого интерфейса, который вы хотите обслуживать. Для этого перейдите в каталог, в котором находится файл конфигурации. В ubuntu это:

cd /etc/

Затем откройте файл конфигурации в любом редакторе:

sudo nano memcached.conf

Затем прокрутите вниз, пока не найдете это:

# Specify which IP address to listen on. The default is to listen on all IP addresses
# This parameter is one of the only security measures that memcached has, so make sure
# it's listening on a firewalled interface.
-l 127.0.0.1

Теперь просто замените 127.0.0.1 с IP-адресом вашего сетевого интерфейса и сохраните.

Теперь вам нужно перезапустить сервер memcached:

sudo service memcached restart

Memcached теперь будет обслуживать только запросы, полученные через этот IP / сетевой интерфейс. Вы можете проверить это с помощью следующей команды:

ps aux | grep memcached

Если все прошло нормально, вы должны увидеть IP, который вы указали в конфигурации, а не localhost.