…و enters web.socketed.template ![]()
هذا الأمر يُربكني… لدي discourse عبر HTTPS يبدو مثاليًا تمامًا، باستثناء ملف certificate.svg الذي لا يتم تحميله. (خطأ 500، ليست مشكلة برمجية، بل بالتأكيد إعداداتي
)
- أستخدم web.socketed.template وأتعامل مع SSL خارج الحاوية (لذا فإن web.ssl.template لا يزال مُعلقًا في ملف app.yml)
- سجل rails يقول:
فشل في معالجة الاستجابة المخترقة بشكل صحيح: فشل في فتح اتصال TCP إلى my.domain:443 (تم رفض الاتصال - connect(2) إلى "my.domain" المنفذ 443)
دخلت إلى الحاوية لأرى ما يوجد في /etc/nginx/conf.d/discourse.conf، وكما هو متوقع، لم أرَ أي كتلة https (والتي كانت ستظهر لو تم تمكين web.ssl.template كما أعتقد).
هل من الممكن أن هذا الجزء من web.socketed.template:
- replace:
filename: "/etc/nginx/conf.d/discourse.conf"
from: /listen 443 ssl http2;/
to: |
listen unix:/shared/nginx.https.sock ssl http2;
set_real_ip_from unix:;
لم يُطبَّق لأن web.ssl.template غير مفعّل، مما قد يتسبب بطريقة ما في فشل الاختراق؟
لكن لماذا يحدث ذلك فقط بالنسبة لشهادة discobot؟ أليس الاختراق يُستخدم بكثرة، مثلًا في oneboxing؟ آه… لقد وصلت إلى حدود معرفتي، رأسي يؤلمني ![]()
ملاحظة: مقتطف SSL
ssl_dhparam /etc/ssl/certs/dhparam.pem;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:1m;
ssl_session_tickets off;
ssl_ciphers 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:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers off;
add_header Strict-Transport-Security 'max-age=31536000';
وكتلة nginx
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name my.domain;
ssl on;
ssl_certificate /etc/letsencrypt/live/my.domain/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/my.domain/privkey.pem;
include /etc/nginx/snippets/ssl.conf;
client_max_body_size 0;
http2_idle_timeout 5m;
location / {
proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock:;
proxy_set_header Host $http_host;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
}