Jika Anda ingin menguji service worker di perangkat klien yang tidak dapat menjalankan server web di localhost, teknik umumnya adalah sebagai berikut:
- Berikan nama host pada server Anda.
- Beri nama host ini sertifikat.
- Buat IP mempercayai CA yang menerbitkan sertifikat ini.
Tapi ini lebih mudah diucapkan daripada dilakukan. Dalam AMA November 2016 di Reddit, perwakilan Let's Encrypt mengakui bahwa HTTPS di LAN pribadi "adalah pertanyaan yang sangat sulit, dan saya pikir belum ada yang memberikan jawaban yang memuaskan sejauh ini."
Cara umum untuk memberikan nama host pada komputer Anda melibatkan pemberian alamat IP internal yang stabil, bukan alamat yang berubah setiap hari atau setiap kali Anda melakukan siklus daya alat gateway Internet Anda. Anda harus mengkonfigurasi server DHCP di jaringan Anda, biasanya di gateway Anda, untuk menyiapkan "reservasi" yang mengaitkan alamat pribadi tertentu (biasanya di dalam 10/8
atau 192.168/16
) dengan alamat MAC kartu Ethernet stasiun kerja pengembangan Anda. Untuk ini, baca manual gateway Anda.
Sekarang setelah stasiun kerja pengembangan Anda memiliki alamat IP yang stabil, ada pertukaran waktu / uang. Jika Anda ingin mempelajari penggunaan DNS dan OpenSSL tingkat lanjut dan memasang sertifikat root pada semua perangkat yang ingin Anda uji:
- Jalankan server DNS internal di jaringan Anda. Ini bisa berada di gateway Anda atau di workstation pengembangan Anda.
- Konfigurasikan server DNS Anda agar berwibawa untuk beberapa TLD yang dibuat-buat dan rekursif untuk TLD lainnya.
- Berikan nama yang stabil untuk alamat IP pribadi stasiun kerja pengembangan Anda. Ini memberinya nama internal.
- Konfigurasikan server DHCP Anda untuk memberikan alamat server DNS ini ke perangkat lain yang mendapatkan sewa.
- Di stasiun kerja pengembangan Anda, gunakan OpenSSL untuk membuat pasangan kunci untuk otoritas sertifikat privat dan server web.
- Menggunakan OpenSSL, terbitkan sertifikat akar untuk CA dan sertifikat untuk nama internal server web.
- Konfigurasikan HTTPS di server web pada workstation pengembangan Anda menggunakan sertifikat ini.
- Instal sertifikat root CA sebagai sertifikat root tepercaya di semua perangkat.
- Di semua perangkat, akses nama internal ini.
Jika Anda tidak dapat menambahkan sertifikat akar atau mengontrol DNS lokal, seperti jika Anda berencana untuk menguji dengan perangkat milik orang lain (BYOD) atau dengan browser yang lebih terkunci yang tidak mengizinkan pengguna untuk menambahkan sertifikat dasar tepercaya, seperti yang di perangkat utama konsol video game, Anda memerlukan nama domain yang memenuhi syarat (FQDN):
- Beli domain dari registrar yang menawarkan DNS dengan API . Ini bisa langsung dalam TLD atau dari salah satu penyedia DNS dinamis yang berhasil masuk ke Daftar Sufiks Publik. (Penyedia DNS dinamis non-PSL tidak dapat diterima karena batas kecepatan yang diberlakukan oleh Let's Encrypt .)
- Dalam file zona domain ini, arahkan
A
catatan ke alamat IP pribadi stasiun kerja pengembangan Anda. Ini memberi stasiun kerja pengembangan Anda FQDN.
- Gunakan Dehydrated , klien ACME yang mendukung
dns-01
tantangan, untuk mendapatkan sertifikat untuk FQDN ini dari otoritas sertifikat Let's Encrypt.
- Konfigurasikan HTTPS di server web pada workstation pengembangan Anda menggunakan sertifikat ini.
- Di semua perangkat, akses nama ini.