Dengan pelayan web Caddy, anda mendapat HTTPS atau apa-apa. Oleh itu mari kita lihat bagaimana anda boleh memasang Caddy di Ubuntu dan mengkonfigurasinya untuk melayani aplikasi web anda. Kami akan mendapat sijil TLS kami dari LetsEncrypt.
Persediaan
Andaikan anda mempunyai VPS dengan alamat IP: 10.20.30.40 dan subdomain FQDN.contoh.com siapa rekod A menunjuk ke IP ini.
VPS menjalankan Ubuntu 18.04 edisi pelayan LTS dan konfigurasi berikut dilakukan sebagai pengguna root.
Langkah 1: Memasang Pelayan Web Caddy
Caddy ditulis dalam Go, dan boleh berjalan sebagai binari boleh dilaksanakan yang berdiri sendiri. Walau bagaimanapun, terdapat pelbagai plugin yang boleh anda gunakan untuk pelayan DNS tertentu, dll. Kami akan memasang binary biasa tanpa plugin sehingga berfungsi di semua penyesuaian.
Untuk mendapatkan binari anda, lawati halaman muat turun rasmi mereka dan pilih semua pemalam dan telemetri yang anda perlukan. Di bawah ini akan terdapat arahan bash untuk memuat turun dan meletakkan binari pelayan caddy di lokasi yang betul. Sebagai pengguna root, jalankan:
$ curl https: // getcaddy.com | bash -s peribadiSetelah selesai, kita dapat mencari binari, dengan menjalankan:
$ mana caddycaddy: / usr / local / bin / caddy
Sekiranya anda perlu membuang pelayan, atau mengemas kini dengan yang boleh dilaksanakan yang lebih baru, anda kini tahu di mana mencarinya.
Langkah 2: Menguji Laman Web Anda
Sekiranya anda tidak mempunyai laman web, cukup buat folder kosong dan jalankan perintah di sana. Anda mungkin mendapat Ralat 404 pada penyemak imbas anda tetapi penyediaan pelayan masih dapat diuji. Sekiranya anda mempunyai laman web yang melintasi direktori di mana webroot laman web anda berada. Sebagai contoh biasa, saya akan memilih / var / www / laman web saya sebagai contoh dengan indeks berikut.html disimpan di dalamnya.
/ var / www / laman web / indeks.htmlHalaman ini dilayan oleh Caddy Server
Ini adalah perenggan.
Ini cukup untuk memulakan kita. Sekarang di direktori yang sama dengan indeks ini.halaman html, jalankan komad berikut:
$ caddyMengaktifkan ciri privasi ... selesai.
http: //: 2015
AMARAN: Had penerangan fail 1024 terlalu rendah untuk pelayan pengeluaran. Sekurang-kurangnya 8192 disyorkan. Betulkan dengan 'ulimit -n 8192'.
Biarkan caddy berjalan di negeri ini.
Anda boleh pergi ke IP awam pelayan anda pada nombor port 2015 untuk menguji ini: http: // 10.20.30.40: 2015 pastikan bahawa firewall anda tidak menyekat port ini.
Dan anda akan melihat indeks itu.html dilayan secara automatik. Ini mengikuti konvensi lama bahawa halaman pertama laman web dinamakan indeks yang mana kebanyakan pelayan web seperti Nginx, Apache dan bahkan Caddy berfungsi sebagai halaman pertama, walaupun anda tidak menentukan halaman ini dengan menggunakan / index.html di hujung URL.
Langkah 3: Menyiapkan HTTPS
Sekarang setelah anda mengesahkan bahawa laman web anda memang berfungsi dengan Caddy dan dapat dilayan dengannya, inilah masanya untuk menyediakan HTTPS. Untuk melakukan ini, anda boleh menggunakan antara muka baris perintah, atau menggunakan fail konfigurasi yang disebut sebagai Caddyfile. Kami akan menggunakan baris arahan terlebih dahulu.
Di direktori yang sama dengan laman web anda, jalankan arahan berikut:
subdomain host $ caddy.contoh.com## Buat pertama kalinya ia akan meminta alamat e-mel anda supaya anda dapat
pemberitahuan pembaharuan sijil dari LetsEncrypt
Pengeluaran:
Mengaktifkan ciri privasi…Laman web anda akan dilayan melalui HTTPS secara automatik menggunakan Let's Encrypt.
Dengan meneruskan, anda bersetuju dengan Perjanjian Pelanggan Encrypt di:
https: // letsencrypt.org / dokumen / LE-SA-v1.2-November-15-2017.pdf
Sila masukkan alamat e-mel anda untuk menandakan perjanjian dan diberitahu
sekiranya berlaku masalah. Anda boleh membiarkannya kosong, tetapi kami tidak mengesyorkannya.
Alamat e-mel: [dilindungi e-mel]
…
Itu sahaja! Laman web anda kini beroperasi dan berjalan. Anda boleh melawat subdomain.contoh.com dan ia akan diarahkan secara automatik ke HTTPS tanpa nombor port tersuai atau nuansa lain.
Semudah itu! Anda boleh CTRL + C untuk menghentikan pelayan, lain kali ia akan menggunakan semula sijil ini.
Langkah 4: Menulis Caddyfile anda
Kaedah di atas adalah baik untuk kes penggunaan eksperimental di mana anda hanya menguji air. Tetapi jika anda mahukan pelayan web yang berjalan sebagai proses latar belakang, anda perlu menulis Caddyfile dan memberitahu pelayan web untuk menggunakan konfigurasi ini untuk menjalankan pelayan anda.
Ini adalah contoh paling mudah untuk laman web yang sama yang kami hoskan di atas:
subdomain.contoh.comroot / var / www / mysite
Arahan root memberitahu pelayan web di mana laman web berada. Anda tidak boleh keluar dari direktori ini dari sisi pelanggan. Sebaiknya letakkan fail caddy anda di mana sahaja tetapi di dalam webroot ini. Anda boleh meletakkannya di / etc / folder atau direktori rumah anda. Sebagai contoh, jika fail dibuat di / etc / Caddyfile, anda boleh memberitahu pelayan untuk menggunakan konfigurasi ini, dengan menjalankan perintah:
$ caddy -conf / etc / CaddyfileTerdapat banyak arahan yang boleh anda gunakan untuk menyempurnakan pelayan anda. Anda boleh mengaktifkan pembalakan, pemampatan, proksi terbalik, dll. Dokumentasi rasmi adalah tempat yang baik untuk mula mencari arahan yang berkaitan dengan kes penggunaan anda. Inilah contoh lain di mana dua laman web dengan dua nama domain berbeza dilayan:
subdomain.contoh.comroot / var / www / mysite
subdomain2.contoh.com
root / var / www / mysite2
gzip
log… / akses.balak
Arahan gzip membolehkan pemampatan, jika pelanggan menyokongnya. Ini meningkatkan prestasi kerana lebih banyak data dapat dihantar melalui lebar jalur dan selang waktu yang sama. Pembalakan membantu penyahpepijatan dan menjejaki aktiviti rangkaian.
Kesimpulannya
Kekuatan terbesar pelayan web Caddy adalah mudah untuk menulis dan membaca fail konfigurasi dan fleksibiliti di pelbagai platform. Walau bagaimanapun, kerana pelesenan peliknya, pelayan bukanlah sumber terbuka sepenuhnya. Kod sumber adalah sumber terbuka, dan anda boleh menyusunnya sendiri dan menggunakan hasil yang boleh dilaksanakan, tetapi binari yang anda terima dari laman web rasmi tidak dimaksudkan untuk digunakan untuk tujuan komersial tanpa lesen yang betul.
Ini membawa kita kembali ke masalah komplikasi di mana, bukan hanya menangani fail konfigurasi, kita juga harus menangani penyusunan kod sumber yang mengalahkan tujuan pelayan web yang mudah digunakan. Beritahu kami jika anda mempunyai pemikiran tentang Caddy, dan jika ada laman web anda yang berada di atasnya.