نجحت في تشغيل Apache2 “بدون أي مشكلة” في بيئة اختبارية باستخدام Apache2 كوكيل عكسي (reverse proxy) لملف socket في حاوية يونكس:
الفرق الوحيد الذي وجدته (ملاحظة: اختبار لمدة بضع ساعات فقط، وليس شاملًا) هو:
- لن يعمل Apache2 مع رابط رمزي (symlink) إلى ملف socket في المجلد المشترك داخل الحاوية؛
- كان Apache2 أبطأ قليلًا في اختبار تقريبي، لكن الفرق لم يكن كبيرًا.
شخصيًا، لستُ من محبي الحروب الدينية حول التقنيات؛ لذا أختلف مع القول بأن “Apache2 سيسبب لك الكثير من المشاكل.” لم أواجه أي مشاكل سلبية مع Apache2 خلال اختباراتي.
إليك الإعداد الأساسي الذي استخدمته مع Apache2 (HTTP، وعمل بشكل ممتاز مع LETSENCRYPT، بالمناسبة):
# cat discourse.example.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName discourse.example.com
DocumentRoot /website/discourse
RewriteEngine On
ProxyPreserveHost On
ProxyRequests Off
ProxyPass / unix:/var/discourse/shared/socket-only/nginx.http.sock|http://localhost/
ProxyPassReverse / unix:/var/discourse/shared/socket-only/nginx.http.sock|http://localhost/
ErrorLog /var/log/apache2/discourse.error.log
LogLevel warn
CustomLog /var/log/apache2/discourse.access.log combined
RewriteCond %{SERVER_NAME} =discourse.example.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
ملاحظة: المرة الوحيدة التي واجهنا فيها مشاكل في تقديم المحتوى عبر HTTP حتى مع تعيين force_https كانت عندما كانت الملفات مفقودة في مجلد /uploads. ولكن هذا (طبعًا) لا علاقة له بـ Apache2 مقابل nginx كوكيل عكسي.