‏shop.example.com عنوانٌ منفصل يجب أن يوجد في ثلاثة مواضع. ومعرفةُ الغائب منها سهلةٌ من العرَض، ولكلٍّ علاجٌ مختلف.

١. الـ DNS

dig +short shop.example.com
# nothing at all: the record does not exist

سجلُّ A يشير إلى الخادم، أو CNAME إلى اسم مضيفٍ له سجلّ. وإن غاب قال المتصفّح إنّ الخادم غير موجود — فالطلبُ لا يغادر الجهاز أصلًا.

٢. كتلةُ الخادم

server {
    listen 443 ssl;
    server_name shop.example.com;
    root /var/www/shop/public;
}

فبوجود الـ DNS وغياب server_name مطابق يصل الطلبُ ويقدّم Nginx ما يعدّه الموقعَ الافتراضيّ. وذلك هو العرَضُ الذي يُظهر فيه نطاقٌ فرعيّ الموقعَ الرئيس بدلًا منه — ومعناه أنّ الـ DNS يعمل.

٣. الشهادة

sudo certbot --nginx -d shop.example.com

وبصحّة الأوّلين وغياب شهادةٍ لذلك الاسم يحذّر المتصفّح قبل أن يحمّل شيئًا. فالاسمُ يجب أن يكون في الشهادة؛ وشهادةُ example.com لا تغطّي shop.example.com.

أين تذهب الملفّات

  • دليلُه هو — /var/www/shop/public. نظيف، وهو الشكل المستحسَن.
  • دليلٌ داخل الموقع الرئيس — ممكن، ومعناه أنّ الموقع الرئيس يستطيع تقديم الملفّات نفسها على عنوانٍ ثانٍ ما لم تمنعه.
فإن جلس جذرُ النطاق الفرعيّ داخل جذر المستندات الرئيس قدّمه العنوانان معًا. إمّا أن تنقله خارجًا، وإمّا أن تمنع ذلك المسار في كتلة الخادم الرئيسة — وإلّا فعندك محتوًى مكرّر وموقعُ تجربةٍ تجده محرّكات البحث.

الرموز الشاملة

ولنطاقاتٍ فرعيّةٍ كثيرة يكون سجلٌّ شاملٌ واحد وشهادةٌ شاملة واحدة عملًا أقلّ — انظر النطاقات الفرعيّة الشاملة.