- اكتمل تكوين النطاق
- تم إنشاء مثيل AWS EC2
- تم إصدار الشهادة باستخدام ACM
- تم تكوين 443 وربط الشهادة عبر ALB
- يقوم ALB بتوجيه حركة مرور النطاق إلى مثيل EC2 على المنفذ 80
قبل بناء Discourse، قمت بتعديل ملف app.yml لتكوين اتصالات HTTP:
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
## قم بإلغاء التعليق على السطر التالي لتمكين مستمع IPv6
#- "templates/web.ipv6.template.yml"
- "templates/web.ratelimited.template.yml"
## قم بإلغاء التعليق على هذين السطرين إذا كنت ترغب في إضافة Lets Encrypt (https)
#- "templates/web.ssl.template.yml"
#- "templates/web.letsencrypt.ssl.template.yml"
## ما هي منافذ TCP/IP التي يجب أن يكشف عنها هذا الحاوية؟
## إذا كنت تريد أن تشارك Discourse منفذًا مع خادم ويب آخر مثل Apache أو nginx،
## انظر https://meta.discourse.org/t/17247 للحصول على التفاصيل
expose:
- "80:80" # http
#- "443:443" # https
بعد إجراء التغييرات، قمت ببناء Discourse وتحققت من التكوين، لكن nginx يستمر في طلب مفتاح SSL مع الخطأ التالي:
[emerg] 7416#7416: لا يمكن تحميل الشهادة "/shared/ssl/discourse.xxxxxxx.com.cer": فشل PEM_read_bio_X509_AUX() (SSL: error:0480006C:PEM routines::no start line:Expecting: TRUSTED CERTIFICATE)
هل هناك طريقة لمنع nginx من محاولة تحميل المفتاح أو جعل nginx يعمل بشكل صحيح عبر HTTP؟