วิธีเชื่อมต่อกับ memcached จากเครื่องอื่น


22

ฉันพยายามใช้ memcached จากเครื่องอื่น (ซึ่งมีการเข้าถึงเซิร์ฟเวอร์ของฉัน) แต่ฉันไม่สามารถหาวิธีได้

บนเครื่อง memcached ฉันสามารถทดสอบการเชื่อมต่อโดยการเรียกใช้

telnet 127.0.0.1 port

และใช้งานได้ แต่บนเครื่องอื่นมันแค่พยายามเชื่อมต่อ

telnet machine_address port
Trying machine_address...

ฉันไม่แน่ใจว่าฉันควรจะตั้งค่าอย่างอื่นเพื่อให้มันทำงานได้หรือไม่ ฉันรู้ว่าพอร์ตนั้นใช้งานได้และเข้าถึงได้เพราะถ้าฉันพยายามเรียกใช้บริการอื่น ๆ

ระบบปฏิบัติการคือ Ubuntu


ฉันมีปัญหาเดียวกันนี้กับเครื่องเสมือนของฉัน telnet ส่งคืน "การเชื่อมต่อถูกปฏิเสธ" Local telnet ในเครื่อง memcache ทำงาน เพิ่มกฎที่ชัดเจนใน iptables เพื่ออนุญาตพอร์ต 11211, ไม่มีลูกเต๋า, เพิ่มกฎในเราเตอร์เพื่ออนุญาตพอร์ต, ไม่มีลูกเต๋า ...
Purefan

คำตอบ:


25

ใน /etc/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

เปลี่ยนเป็น

-l 0.0.0.0

และรีสตาร์ท memcached


นั่นไม่ได้ทำงานอย่างน่าเสียดาย
Oscar Del Ben

1
ตรวจสอบผลลัพธ์จากnetstat -ln4tนั้นเพื่อดูว่ากำลังฟังเพลงอยู่ที่ 127.0.0.1:11211 หรือ 0.0.0.0:11211
Majenko

ผลลัพธ์คือ 0.0.0.0:*
Oscar Del Ben

มันน่าอายแค่ไหนที่ฉันต้องใช้เวลาคิด ขอบคุณ @Majenko
Ascherer

@Majenko คุณกำลังพูดถึงLocal Address?
chanchal118

3

แก้ไขเส้น-l /etc/memcached.confนี่คือที่เก็บตัวเลือกการเริ่มต้นของคุณ

บรรทัดต่อไปนี้จะอนุญาตให้ memcached ฟังบนอินเตอร์เฟสทั้งหมด:

sudo sed 's/-l/#-l/' /etc/memcached.conf && sudo service memcached restart

0

มีความเป็นไปได้พื้นฐานสองประการ:

  • คุณได้ตั้งค่าอินสแตนซ์ memcached ของคุณให้ฟังเฉพาะในอินเทอร์เฟซวนรอบย้อนกลับ - คุณสามารถตรวจสอบสิ่งนี้ในnetstat -lผลลัพธ์
  • คุณได้iptablesตั้งค่าไฟร์วอลล์ให้ปฏิเสธการเชื่อมต่อขาเข้าทั้งหมดยกเว้นการเชื่อมต่อที่ได้รับอนุญาตอย่างชัดเจน

ฉันเห็นพอร์ตที่ใช้ได้ทั้งบนเนสต์และ iptables ในตาราง ip จะอ่าน tcp dpt: 11211
ออสการ์เดลเบ็น
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.