shop.example.com adalah alamat tersendiri yang harus ada di tiga tempat. Yang mana yang hilang mudah dikenali dari gejalanya, dan masing-masing punya perbaikan yang berbeda.

1. DNS

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

Sebuah catatan A yang menunjuk ke server, atau sebuah CNAME ke nama host yang punya catatan itu. Kalau hilang, perambannya bilang servernya tak ditemukan - permintaannya bahkan tak pernah meninggalkan mesin itu.

2. Blok servernya

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

Kalau DNS-nya sudah ada tapi tak ada server_name yang cocok, permintaannya sampai dan Nginx menyajikan apa pun yang dianggapnya situs bawaan. Itulah gejala ketika sebuah subdomain justru menampilkan situs utamanya - dan itu berarti DNS-nya bekerja.

3. Sertifikatnya

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

Kalau dua yang pertama sudah benar tapi tak ada sertifikat untuk nama itu, perambannya memperingatkan sebelum memuat apa pun. Namanya harus tercantum di sertifikat; sertifikat untuk example.com tidak menaungi shop.example.com.

Ke mana berkasnya diletakkan

  • Direktorinya sendiri - /var/www/shop/public. Rapi, dan inilah bentuk yang dianjurkan.
  • Sebuah direktori di dalam situs utama - bisa saja, dan itu berarti situs utamanya dapat menyajikan berkas yang sama di alamat kedua kecuali Anda menghalanginya.
Kalau akar subdomainnya duduk di dalam akar dokumen utama, kedua alamat itu sama-sama menyajikannya. Pindahkan ke luar, atau larang jalur itu di blok server utamanya - kalau tidak, Anda punya isi ganda dan sebuah situs uji yang bisa ditemukan mesin pencari.

Kartu bebas

Untuk banyak subdomain, satu catatan kartu bebas dan satu sertifikat kartu bebas lebih sedikit kerjanya - lihat subdomain kartu bebas.