قائمة الدروس

هنا نقوم بانشاء او التعديل على ملف الاعدادات الخاص بانجينكس ويب سيرفر و يمكن تشغيله كسيرفر خاص او سيرفر بروكسى عكسى

/etc/nginx/conf.d/ nano example.conf

الاعدادات بالاسفل لتوجيه الريكوستات الاتيه من الموقع للكونتينرات باسمها المتواجدة فى شكبة واحدة و التحدث مع بعضها مع مراعاة عدم الاعتماد على الشبكة الخاصة بالدوكر وانشاء شبكة خاصة ,كونيكت الكونتينرات مع بعضها على الشبكة الجديدة ليقوموا بالتحدث مع بعضهم بالاسم دون الحاجة الى الاى بى

  
            server {
            listen 80;
            server_name example.com www.example.com;

            location / {

            proxy_pass http://example;
            }
            }



            server {
            listen 80;
            server_name example.com;

            location / {

            proxy_pass http:// any where and not forget 
            nginx -t before exit container;
            }
            }
        

هنا الاعدادات الكاملة مع الشهادات

/etc/nginx/conf.d/test.conf

server {
    listen 80;
    server_name test.example.com;

    # إعدادات الخادم للطلبات الواردة على المنفذ 80 (HTTP)

    # التوجيه المباشر لصفحة الخطأ 404
    location / {
        error_page 404 /404.html;
        return 404;
    }
}

server {
    listen 443 ssl;
    server_name test.example.com;

    # إعدادات الخادم للطلبات الواردة على المنفذ 443 (HTTPS)

    # مسار الشهادة والمفتاح الخاص لتفعيل SSL
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    # إعدادات SSL
    ssl_protocols TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256';

    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:10m;
    ssl_session_tickets on;

    # إضافة الهيدرات الأمانية
    add_header X-Frame-Options "SAMEORIGIN" always;
    add_header X-XSS-Protection "1; mode=block" always;
    add_header X-Content-Type-Options "nosniff" always;
    add_header Referrer-Policy "strict-origin-when-cross-origin" always;
    add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self'; frame-src 'self'; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self';" always;

    # تفعيل HSTS (HTTP Strict Transport Security)
    add_header Strict-Transport-Security "max-age=31536000; includeSubdomains; preload" always;
    ssl_stapling on;
    ssl_stapling_verify on;

    # التوجيه إلى الـ webapp باستخدام الـ proxy
    location / {
        proxy_pass http://webapp;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    # صفحة الخطأ المخصصة للأخطاء 404
    error_page 404 /404.html;
}

الاعدادات الكاملة بالشهادات للموقع الاساسى

/etc/nginx/conf.d/main.conf


server {
    listen 80;
    server_name mido.vpn.com cloud.dns.com;

    # إعدادات الخادم للطلبات الواردة على المنفذ 80 (HTTP)

    # التوجيه المباشر لصفحة الخطأ 404
    location / {
        error_page 404 /404.html;
        return 404;
    }
}

server {
    listen 80;
    server_name example.com www.example.com;

    # إعدادات الخادم للطلبات الواردة على المنفذ 80 (HTTP)

    # التوجيه إلى HTTPS
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name example.com www.example.com;

    # إعدادات الخادم للطلبات الواردة على المنفذ 443 (HTTPS)

    # مسار الشهادة والمفتاح الخاص لتفعيل SSL
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    # إعدادات SSL
    ssl_protocols TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256';

    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:10m;
    ssl_session_tickets on;

    # إضافة الهيدرات الأمانية
    add_header X-Frame-Options "SAMEORIGIN" always;
    add_header X-XSS-Protection "1; mode=block" always;
    add_header X-Content-Type-Options "nosniff" always;
    add_header Referrer-Policy "strict-origin-when-cross-origin" always;
    add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self'; frame-src 'self'; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self';" always;

    # تفعيل HSTS (HTTP Strict Transport Security)
    add_header Strict-Transport-Security "max-age=31536000; includeSubdomains; preload" always;
    ssl_stapling on;
    ssl_stapling_verify on;

    # التوجيه إلى الـ webapp باستخدام الـ proxy
    location / {
        proxy_pass http://webapp;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    # صفحة الخطأ المخصصة للأخطاء 404
    error_page 404 /404.html;

    # صفحة الخطأ المخصصة للأخطاء الخادم (5xx)
    error_page 500 502 503 504 /usr/share/nginx/html/50x.html;
}

        

nginx -t

لاختبار الاعدادات فى ملف الاعدادات لمعرفة هل الاعدادات لها خطا ام لا

Coming Soon

-

Coming Soon

-