Cockpit: الوكيل على اباتشي يعطي صفحات فارغة

تم إنشاؤها على ٢٤ فبراير ٢٠١٨  ·  8تعليقات  ·  مصدر: cockpit-project/cockpit

مرحبا شباب،

لقد قمت بتكوين apache 2.4 كما هو موضح هنا: https://github.com/cockpit-project/cockpit/wiki/Proxying-Cockpit-over-Apache-with-LetsEncrypt

لسوء الحظ ، يمكنني رؤية بعض المشكلات الغريبة:

سلوك

  1. صفحة تسجيل الدخول "تبدو" جيدة. ولكن يوجد خطأ في وحدة التحكم فيما يتعلق بخريطة المصدر.

  2. بعد إدخال بيانات تسجيل الدخول

    • في وحدة تحكم JS ، تمت محاولة الاتصال بـ wss: // something / cockpit / socket .
    • إنها مرتبطة بقمرة القيادة. js: 293: 24.
    • تظل الصفحة فارغة تمامًا.
    • يبدو أن كل الحلول / المناقشة في # 5934 لا تساعد.

معلومة

نظام التشغيل: CentOS 7.4
httpd: httpd-2.4.6-67.el7.centos.6.x86_64
قمرة القيادة: قمرة القيادة- ws-157-1.el7.centos.x86_64

إذا لزم الأمر ، يمكنني تقديم معلومات إضافية ويمكنك أيضًا الاتصال بي عبر IRC في بعض الأحيان.

يعتبر،
دانيال

bug question

التعليق الأكثر فائدة

هنا هو التكوين الكامل الذي جعلني أعمل وكيلاً في Apache دون استخدام مضيف افتراضي لقد استخدمت اسم قمرة القيادة - جديد لأن المستندات تقول إن قمرة القيادة وقمرة القيادة + محجوزان.

/etc/cockpit/cockpit.conf

[خدمة ويب]
Origins = https://MYDOMAIN.COM http://MYDOMAIN.COM https: // localhost : 9090 http: // localhost : 9090
بروتوكول رأس = X-Forwarded-Proto
AllowUnencrypted = صحيح
UrlRoot = / قمرة القيادة-جديد /

/etc/apache2/apache2.conf

ProxyPass / قمرة القيادة-جديد / قمرة القيادة / المقبس ws: // المضيف المحلي: 9090 / قمرة القيادة-جديد / قمرة القيادة / المقبس
ProxyPassReverse / Cockpit-new / Cockpit / socket ws: // localhost: 9090 / cockpit-new / cockpit / socket

ProxyPass / cockpit-new / http: // localhost : 9090 / cockpit-new /
ProxyPassReverse / cockpit-new / http: // localhost : 9090 / cockpit-new /

RequestHeader تعيين X-Forwarded-Proto "https"
مجموعة رأس الطلب X-Forwarded-Port "443"

إعادة توجيه دائم / قمرة القيادة-جديد / قمرة القيادة-جديد /
الوكيل

ال 8 كومينتر

كيف يتم تكوين وكيلك العكسي لـ Cockpit؟ تم تكوين المنجم للذهاب إلى https://www.domain.com/manage/ بدلاً من https://www.domain.com : 9090. واجهت مشكلات في عرض صفحات فارغة في الأصل ، لكنني عملت مع الإعدادات أدناه.

إليك تهيئة Apache ذات الصلة التي استخدمتها لتشغيلها.

<VirtualHost *:443>
        ServerName www.domain.com
        SSLEngine On
        SSLProxyEngine On
        SSLCertificateFile /etc/apache2/ssl/www.domain.com.crt
        SSLCertificateKeyFile /etc/apache2/ssl/www.domain.com.key
        SSLCertificateChainFile /etc/apache2/ssl/ca-chain.cert.pem
        ServerAdmin [email protected]
        DocumentRoot /var/www
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
        RequestHeader unset X-Forwarded-Proto
        RequestHeader set X-Forwarded-Proto 'https' env=HTTPS
        ProxyPreserveHost On
        ProxyPass /manage https://localhost:9090/manage
        ProxyPassReverse /manage https://localhost:9090/manage
        <LocationMatch "^/manage/cockpi(t[^/]+|t)?/socket$">
            ProxyPassMatch "ws://localhost:9090/manage/cockpi$1/socket"
        </LocationMatch>
</VirtualHost>

تأكد من تمكين وحدات Apache باستخدام a2enmod proxy proxy_wstunnel proxy_http ssl rewrite (والذي أفترض أنك قمت به بالفعل من الإرشادات التي قمت بربطها).

أيضًا ، ها هو /etc/cockpit/cockpit.conf . إذا كنت تقوم بتكوين وكيلك العكسي مثل بلدي مع موقع فرعي ، فيجب عليك إنشاء ملف cockpit.conf وتعيين الإعدادات أدناه.

[WebService]
ProtocolHeader = X-Forwarded-Proto
UrlRoot=/manage/

امل ان يساعد.

مرحبًا ، سيستخدم التكوين أعلاه الشهادة في قمرة القيادة. هدفي هو إنهاء SSL في httpd بالفعل.

يبدو أن المشكلة أنه حتى مع وجود AllowUnencrypted = true في قمرة القيادة /etc/cockpit/cockpit.conf يحاول استخدام wss بدلاً من ws.

<VirtualHost www.domain.com:443>
  ServerName www.domain.com
  SSLEngine on
  SSLCertificateFile /etc/letsencrypt/live/www.domain.com/cert.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/www.domain.com/privkey.pem
  SSLCertificateChainFile /etc/letsencrypt/live/wwww.domain.com/chain.pem

# SSL Cipher
  SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1
  SSLCipherSuite          ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
  SSLHonorCipherOrder     on
  SSLCompression          off

  ProxyPreserveHost On
  ProxyRequests Off

  # Proxy to your local cockpit instance
  ProxyPass / http://127.0.0.1:9090/
  ProxyPassReverse / http://127.0.0.1:9090/
  ProxyPass /cockpit/socket ws://127.0.0.1:9090/cockpit/socket
  ProxyPassReverse /cockpit/socket ws://127.0.0.1:9090/cockpit/socket

</VirtualHost>

آسف ، كان يجب أن أذكر أنني أستخدم شهادة المجال الخاصة بي في Cockpit باستخدام هذه الإرشادات.

بالنسبة لإنهاء SSL في httpd ، لست متأكدًا من ذلك. مجرد مستخدم نهائي آخر هنا :)

ليست مشكلة: +1: أنا سعيد دائمًا ، إذا اهتم شخص ما. كل مساعدة مرحب بها.

كان لا بد من إصلاح هذا مرة أخرى بعد إعادة التثبيت. في حالتي ، أحتاج إلى /etc/cockpit/cockpit.conf

[WebService]
Origins = https://cockpit.mydomain http://127.0.0.1:9090
ProtocolHeader = X-Forwarded-Proto
AllowUnencrypted = true

أواجه نفس المشكلة بالضبط لكنها عملت سابقًا. لقد قمت بإعداد شهادة ومجال Let's Encrypt المناسبين. أيه أفكار؟

هنا هو التكوين الكامل الذي جعلني أعمل وكيلاً في Apache دون استخدام مضيف افتراضي لقد استخدمت اسم قمرة القيادة - جديد لأن المستندات تقول إن قمرة القيادة وقمرة القيادة + محجوزان.

/etc/cockpit/cockpit.conf

[خدمة ويب]
Origins = https://MYDOMAIN.COM http://MYDOMAIN.COM https: // localhost : 9090 http: // localhost : 9090
بروتوكول رأس = X-Forwarded-Proto
AllowUnencrypted = صحيح
UrlRoot = / قمرة القيادة-جديد /

/etc/apache2/apache2.conf

ProxyPass / قمرة القيادة-جديد / قمرة القيادة / المقبس ws: // المضيف المحلي: 9090 / قمرة القيادة-جديد / قمرة القيادة / المقبس
ProxyPassReverse / Cockpit-new / Cockpit / socket ws: // localhost: 9090 / cockpit-new / cockpit / socket

ProxyPass / cockpit-new / http: // localhost : 9090 / cockpit-new /
ProxyPassReverse / cockpit-new / http: // localhost : 9090 / cockpit-new /

RequestHeader تعيين X-Forwarded-Proto "https"
مجموعة رأس الطلب X-Forwarded-Port "443"

إعادة توجيه دائم / قمرة القيادة-جديد / قمرة القيادة-جديد /
الوكيل

بينما يعمل هذا على إعداد قمرة القيادة للتشغيل في مجلد فرعي ، ويعمل في Chrome ، إلا أنه لا يعمل في Safari أو iOS بسبب هذا الخطأ

رفض الاتصال بـ wss: //your-site.com/cockpit-new/cockpit/socket لأنه لا يظهر في توجيه connect-src الخاص بسياسة أمان المحتوى.
قمرة القيادة. js: 365

لقد حاولت تجاوز الرأس من خلال Apache ولكن لم تنجح حتى الآن.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات