الموقع لا يعيد التوجيه إلى https (الجزء 2)

مرحبًا، أنا هنا مرة أخرى ^^.

لدي مشكلة بسيطة أعتقد أنني واجهتها من قبل، لكنها قد تكون شيئًا مختلفًا هذه المرة.

المشكلة هي كالتالي:

  • إذا فتحت cp2077.eu عبر المتصفح، تظهر الصفحة رسالة “قيد الصيانة” وهي قالب من تصميمي بالطبع وغير آمن.

  • لكن إذا فتحت https://cp2077.eu، يظهر منتدى discourse وتبدو الموقع آمنًا مع شهادة SSL.

أعتقد أن ملف nginx الخاص بي لا يقوم بإعادة توجيه الصفحة إلى https بشكل صحيح. إليك الملف، لقد راجعته لكنني لا أعرف أين تكمن المشكلة، يبدو صحيحًا (أظن أنه يبدو صحيحًا)، لكن ربما يمكن لشخص لديه معرفة أكبر مساعدتي في حل هذه المشكلة؟ سأقدر ذلك كثيرًا:

server {

    listen 80;
    listen [::]:80;
    server_name www.cp2077.eu;
    return 301 https://cp2077.eu$request_uri;
}

server {

    listen 443 ssl;
    listen [::]:443 ssl;
    server_name www.cp2077.eu;
    ssl_certificate /etc/letsencrypt/live/cp2077.eu/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/cp2077.eu/privkey.pem;
    return 301 https://cp2077.eu$request_uri;
}

server {

    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name cp2077.eu;

    ssl on;
    ssl_certificate /etc/letsencrypt/live/cp2077.eu/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/cp2077.eu/privkey.pem;



    http2_idle_timeout 5m; # تم رفعه من الافتراضي 3m

    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-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
        proxy_set_header X-Real-IP $remote_addr;

    }

}

هل لديك أي فكرة عما يمكنني تغييره هنا لحل هذه المشكلة؟

أنت تسمح فقط بـ ẁww..

كيف يمكنني إعادة توجيه www و cp2077.eu إلى https؟

جرب إضافة النطاق.

server_name cp2077.eu www.cp2077.eu;

جربته قبل النشر، ويظهر لي الخطأ التالي عند تشغيل الأمر: nginx -t

nginx: [تحذير] اسم خادم متعارض "cp2077.eu" على 0.0.0.0:443، تم تجاهله
nginx: [تحذير] اسم خادم متعارض "cp2077.eu" على [::]:443، تم تجاهله

هل أضفتها فقط في server {} الأولى (المنفذ 80)؟

لقد أضفتها على المنطقتين 80 و 443

—تعديل.

لقد وضعتها الآن على 80 فقط ويبدو أنها تعمل. ومع ذلك، تظهر الآن رسالة تفيد بأن الاتصال غير آمن (بعض عناصر هذه الصفحة غير آمن، مثل الصور).

يجب عليك تمكين force https في إعدادات discourse.

سأجرب ذلك. شكرًا جزيلاً لك يا Arkshine