مرحبا شباب،
لقد قمت بتكوين apache 2.4 كما هو موضح هنا: https://github.com/cockpit-project/cockpit/wiki/Proxying-Cockpit-over-Apache-with-LetsEncrypt
لسوء الحظ ، يمكنني رؤية بعض المشكلات الغريبة:
صفحة تسجيل الدخول "تبدو" جيدة. ولكن يوجد خطأ في وحدة التحكم فيما يتعلق بخريطة المصدر.
بعد إدخال بيانات تسجيل الدخول
نظام التشغيل: CentOS 7.4
httpd: httpd-2.4.6-67.el7.centos.6.x86_64
قمرة القيادة: قمرة القيادة- ws-157-1.el7.centos.x86_64
إذا لزم الأمر ، يمكنني تقديم معلومات إضافية ويمكنك أيضًا الاتصال بي عبر IRC في بعض الأحيان.
يعتبر،
دانيال
كيف يتم تكوين وكيلك العكسي لـ 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 دون استخدام مضيف افتراضي لقد استخدمت اسم قمرة القيادة - جديد لأن المستندات تقول إن قمرة القيادة وقمرة القيادة + محجوزان.
[خدمة ويب]
Origins = https://MYDOMAIN.COM http://MYDOMAIN.COM https: // localhost : 9090 http: // localhost : 9090
بروتوكول رأس = X-Forwarded-Proto
AllowUnencrypted = صحيح
UrlRoot = / قمرة القيادة-جديد /
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 ولكن لم تنجح حتى الآن.
التعليق الأكثر فائدة
هنا هو التكوين الكامل الذي جعلني أعمل وكيلاً في 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"
إعادة توجيه دائم / قمرة القيادة-جديد / قمرة القيادة-جديد /
الوكيل