# تعذر الوصول إلى Discourse فجأة

**URL:** https://meta.discourse.org/t/discourse-suddenly-not-accessible-anymore/158614
**Category:** Self-hosting
**Created:** [23 يوليو 2020، 12:56م UTC](https://meta.discourse.org/t/discourse-suddenly-not-accessible-anymore/158614 "2020-07-23T12:56:03Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![venizia03](https://avatars.discourse-cdn.com/v4/letter/v/dc4da7/32.png) [@venizia03](https://meta.discourse.org/u/venizia03)
#### Post date: [23 يوليو 2020، 12:56م UTC](https://meta.discourse.org/t/discourse-suddenly-not-accessible-anymore/158614/1 "2020-07-23T12:56:03Z")

</div>

مرحبًا!

لم يعد مثيل Discourse الخاص بي يعمل (لم قمت بأي تغيير من جانبي).

في ملف production.log، ظهر لي هذا الرسالة:  
`Error connecting to Redis on localhost:6379 (Errno::ENETUNREACH) subscribe failed,`

ما حاولت فعله حتى الآن:

- إعادة تشغيل الخادم
- تحديث Docker + إعادة تشغيل الخادم + إعادة بناء التطبيق

أنا جديد نسبيًا في Docker وDiscourse، لذا لا أعرف ما الذي يمكنني فعله بعد ذلك ☹

نظام التشغيل المضيف: CentOS 7  
الوكيل: Apache  
Docker: أحدث إصدار

على الخادم المضيف، قمت بتثبيت fail2ban وfirewalld.  
في سجلات firewalld، ظهرت أسطر غريبة:

```
2020-07-23 14:00:52 WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t filter -X DOCKER-ISOLATION-STAGE-1' failed: iptables: No chain/target/match by that name.

2020-07-23 14:00:52 WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t filter -F DOCKER-ISOLATION-STAGE-2' failed: iptables: No chain/target/match by that name.

2020-07-23 14:00:52 WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t filter -X DOCKER-ISOLATION-STAGE-2' failed: iptables: No chain/target/match by that name.

2020-07-23 14:00:52 WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t filter -F DOCKER-ISOLATION' failed: iptables: No chain/target/match by that name.

2020-07-23 14:00:52 WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t filter -X DOCKER-ISOLATION' failed: iptables: No chain/target/match by that name.

2020-07-23 14:00:53 WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i docker0 -o docker0 -j DROP' failed: iptables: Bad rule (does a matching rule exist in that chain?).

2020-07-23 14:00:53 WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i docker0 -o docker0 -j DROP' failed: iptables: Bad rule (does a matching rule exist in that chain?).

```

أي مساعدة أو نصيحة ستكون مُقدَّرة 🙂  
شكرًا مسبقًا!

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [23 يوليو 2020، 1:58م UTC](https://meta.discourse.org/t/discourse-suddenly-not-accessible-anymore/158614/2 "2020-07-23T13:58:23Z")

</div>

يبدو أن هناك مشكلة تتعلق بـ iptables و Docker. هذه هي الأمور التي يجب البحث عنها. إنها ليست مشكلة في Discourse.

---

<div class="post-metadata">

### Author: ![venizia03](https://avatars.discourse-cdn.com/v4/letter/v/dc4da7/32.png) [@venizia03](https://meta.discourse.org/u/venizia03)
#### Post date: [23 يوليو 2020، 2:37م UTC](https://meta.discourse.org/t/discourse-suddenly-not-accessible-anymore/158614/3 "2020-07-23T14:37:20Z")

</div>

أظن أن مشكلة Redis ترتبط أكثر بـ Discourse وليس بـ iptables أو Docker، أليس كذلك؟

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [23 يوليو 2020، 6:30م UTC](https://meta.discourse.org/t/discourse-suddenly-not-accessible-anymore/158614/4 "2020-07-23T18:30:13Z")

</div>

يبدو لي أن شبكات Docker معطلة، لذا حتى لو كان Discourse و Redis يعملان بشكل صحيح، فلا يمكن لـ Discourse الوصول إلى Redis لأن الشبكات و/أو Docker معطلة.

أعتقد أن هذه المشاكل ظهرت في وقت ما بعد تثبيت firewalld، وهذا ما أدى إلى تعطيل تثبيتك.

---

<div class="post-metadata">

### Author: ![venizia03](https://avatars.discourse-cdn.com/v4/letter/v/dc4da7/32.png) [@venizia03](https://meta.discourse.org/u/venizia03)
#### Post date: [24 يوليو 2020، 5:31ص UTC](https://meta.discourse.org/t/discourse-suddenly-not-accessible-anymore/158614/5 "2020-07-24T05:31:15Z")

</div>

شكرًا لك، جاي.

أوقفت خدمة جدار الحماية، وأعدت تشغيل Docker والحاوية المعطلة، لكن الخطأ لا يزال كما هو (في production.log):

`Error connecting to Redis on localhost:6379 (Errno::ENETUNREACH) subscribe failed, reconnecting in 1 second.`

اتصلت بالحاوية عبر Docker:

`docker exec --privileged -it <container id> bash`

أستطيع رؤية أن Redis يعمل:

`redis 45 0.2 0.1 45936 4352 ? Sl 05:29 0:02 /usr/bin/redis-server *:6379`

هل لديك أي فكرة؟

---

<div class="post-metadata">

### Author: ![venizia03](https://avatars.discourse-cdn.com/v4/letter/v/dc4da7/32.png) [@venizia03](https://meta.discourse.org/u/venizia03)
#### Post date: [24 يوليو 2020، 7:12ص UTC](https://meta.discourse.org/t/discourse-suddenly-not-accessible-anymore/158614/6 "2020-07-24T07:12:50Z")

</div>

لقد حققت بعض التقدم. تستخدم إعداداتي Apache 2.4 كوكيل. في الإعدادات، أضفت ما يلي:

`RemoteIPHeader X-Forwarded-For`

للتتبع عنوان IP الأصلي.  
بعد إعادة تشغيل httpd، تمكنت من الوصول إلى discourse (مع تنبيه بشأن انتهاء صلاحية شهادة SSL). قمت بإصلاح هذه المشكلة أيضًا، والآن يعمل كل شيء بشكل جيد ولكن مع تعطيل firewalld.

لقد وجدت العديد من المنشورات حول المشاكل بين Docker و firewalld على CentOS 7. لذلك سأعود إلى استخدام iptables.

بخصوص رسالة خطأ Redis، بعد الخطوات المذكورة أعلاه، تظهر هذه الرسالة فقط عند إيقاف Docker. عند إعادة التشغيل، لا تظهر، لذا أعتقد أن هذا أمر مقبول.

شكرًا!

---

<div class="post-metadata">

### Author: ![csmu](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/csmu/32/124581_2.png) [@csmu](https://meta.discourse.org/u/csmu)
#### Post date: [5 يونيو 2024، 9:22ص UTC](https://meta.discourse.org/t/discourse-suddenly-not-accessible-anymore/158614/7 "2024-06-05T09:22:24Z")

</div>

بعد قراءة هذا، أوقفت Docker على خادمنا Centos

```plaintext
systemctl stop docker

```

ثم بدأته

```plaintext
systemctl start docker

```

تم حل المشكلة.

شكراً @pfaffman
