Cara memperbaiki masalah SSL di CyberPanel
CyberPanel dilengkapi dengan mekanisme penerbitan sertifikat keamanan bawaan. Ini menggunakan otoritas Let’s Encrypt Certificate untuk mendapatkan sertifikat SSL untuk situs web Anda. Kami memiliki tutorial yang bagus tentang cara membuat atau menerbitkan sertifikasi SSl untuk domain.
Namun, jika CyberPanel tidak dapat memperoleh sertifikat untuk domain Anda, itu akan menghasilkan sertifikat yang ditandatangani sendiri. Namun, sertifikat ini tidak dapat diterima oleh browser dan menampilkan peringatan layar merah bahwa koneksi mungkin tidak aman.
Dalam tutorial ini, kita akan melihat beberapa kesalahan umum yang terjadi dan cara memperbaikinya.
Masalah Sertifikat SSL utama di CyberPanel
1. Masalah Catatan atau Alamat IP
CyberPanel hanya bisa memberi Anda sertifikat untuk situs web yang ada di server dan domain yang terhubung ke server juga. Untuk memverifikasi ini, Anda dapat menggunakan Whars My DNS untuk memverifikasi bahwa catatan A untuk domain Anda menunjuk ke IP server yang ditampilkan di kiri atas dasbor CyberPanel tepat di bawah logo CyberPanel.
Jika itu tidak cocok, silakan ubah catatan A ke IP ini di pengaturan DNS manajer domain Anda. Jika Anda menggunakan Cloudflare, Anda mungkin melihat IP yang berbeda di Whats My DNS tetapi Anda harus memastikan bahwa IP dalam pengaturan DNS sama dengan IP server.
2. Verifikasi Klien ACME
CyberPanel menggunakan acme-client untuk penerbitan dan regenerasi sertifikat SSL setiap 90 hari. Terkadang klien sudah usang atau dihapus dari server yang membuat seluruh proses menjadi tidak mungkin.
Untuk memeriksa dan memperbarui klien ACME ke versi terbaru, jalankan perintah berikut:
wget -O - https://get.acme.sh | sh
Sekarang Anda dapat kembali ke menu dan memilih Kelola SSL dari menu SSL untuk mengeluarkan SSL lagi.
3. Izin folder
Let’s Encrypt Authority memverifikasi bahwa Anda memang pemilik dan mengendalikan domain yang ingin Anda dapatkan sertifikatnya sehingga mereka menawarkan beberapa bentuk verifikasi.
- Tantangan HTTP-01 (atau tantangan berbasis file) : Ini adalah jenis tantangan paling umum saat ini. Let’s Encrypt memberikan token ke klien ACME Anda, dan klien ACME Anda meletakkan file di server web Anda di
http://<YOUR_DOMAIN>/.well-known/acme-challenge/<TOKEN>
. - Tantangan DNS-01 : Tantangan ini meminta Anda untuk membuktikan bahwa Anda mengontrol DNS untuk nama domain Anda dengan menempatkan nilai tertentu dalam data TXT di bawah nama domain tersebut. Let’s Encrypt memberikan token kepada klien ACME Anda, klien Anda akan membuat catatan TXT yang berasal dari token itu dan kunci akun Anda, dan meletakkan catatan itu di
_acme-challenge.<YOUR_DOMAIN>
CyberPanel menggunakan verifikasi berbasis file karena lebih mudah dan data DNS membutuhkan waktu yang sangat lama untuk disebarkan.
Terkadang, pengguna mengubah izin file dan folder yang membuat CyberPanel tidak mungkin menambahkan file yang diperlukan untuk verifikasi dan verifikasi gagal.
Untuk memperbaiki masalah ini, buka Situs Web-> Daftar Situs Web di mana Anda akan melihat sesuatu seperti ini
Klik tombol Kelola di sebelah situs web yang Anda inginkan untuk mengeluarkan SSL dan Anda akan disambut dengan layar seperti ini
Gunakan opsi File Manager untuk membuka file manager untuk situs web itu. Setelah pengelola file terbuka, klik tombol Perbaiki Izin di kanan atas.
CyberPanel akan memperbaiki izin untuk Anda dan kemudian Anda dapat mengeluarkan sertifikat SSL dari SSL->Kelola SSL seperti yang ditunjukkan pada edisi pertama.
4. Pemblokiran ModSecurity
CyberPanel hadir dengan ModSecurity yang menjaga server dan situs web Anda aman dari berbagai upaya peretasan dan konten spam, namun terkadang sebagai positif palsu, ia dapat memblokir lalu lintas yang sah mengingat itu spam atau serangan.
Lets Encrypt memverifikasi identitas domain dengan memeriksa apakah file yang disediakan tersedia di domain Anda atau tidak. Itu dilakukan dengan mengakses file itu dari beberapa server untuk mengonfirmasi bahwa Anda memang pemilik atau orang yang berwenang untuk domain itu. Saat mereka mengeluarkan jutaan sertifikat per hari, server mereka menghasilkan banyak lalu lintas dan terkadang perusahaan yang memerangi spam melihat banyak lalu lintas serupa sebagai spam dan mereka menempatkan Lets Encrypt server IP di daftar hitam mereka.
Akibatnya, ModSecurity memblokir semua koneksi dari IP tersebut dan Let’s Encrypt tidak dapat memverifikasi domain yang menyebabkan kegagalan untuk mengeluarkan sertifikat SSL.
Ada solusi sederhana untuk dapat mengeluarkan sertifikat SSL dalam kasus ini.
Buka Keamanan-> ModSecurity Conf dan Anda akan disambut dengan layar ini
Matikan ModSecurity lalu buka SSL → Kelola SSL dan terbitkan sertifikat SSL untuk situs web Anda. Setelah selesai, nyalakan kembali ModSecurity.
Men-debug dengan baris perintah
Jika tidak satu pun di atas bekerja untuk Anda, itu berarti Anda memiliki masalah lain yang perlu di-debug dan diperbaiki. Untuk melakukan itu, pergi ke terminal Anda dan ketik berikut ini.
/root/.acme.sh/acme.sh --issue -d <YOUR\_DOMAIN> -d www.<YOUR\_DOMAIN> --cert-file /etc/letsencrypt/live/<YOUR\_DOMAIN>/cert.pem --key-file /etc/letsencrypt/live/<YOUR\_DOMAIN>/privkey.pem --fullchain-file /etc/letsencrypt/live/<YOUR\_DOMAIN>/fullchain.pem -w /usr/local/lsws/Example/html --force --debug
Perintah ini akan memberi Anda informasi terperinci tentang di mana dan mengapa masalah terjadi sehingga Anda dapat memperbaikinya.
Kiat debug untuk v2.3.2 dan di atasnya
Jika Anda menggunakan CyberPanel versi v2.3.2 dan di atasnya, periksa apakah Anda telah mengikuti divhost conf
OpenLiteSpeed
Apakah Anda memiliki konteks ini di conf vHost Anda? Jika tidak maka tambahkan konfigurasi berikut di bagian bawah file konfigurasi ini
context /.well-known/acme-challenge {
location /usr/local/lsws/Example/html/.well-known/acme-challenge
allowBrowse 1
rewrite {
}
addDefaultCharset off
phpIniOverride {
}
}
dan klik Save
Perusahaan LiteSpeed
Periksa dan lihat apakah Anda memiliki baris ini di konfigurasi Anda Alias /.well-known/acme-challenge /usr/local/lsws/Example/html/.well-known/acme-challenge
, jika tidak maka tambahkan DocumentRoot
garis bawah seperti yang Anda lihat pada gambar di atas.
Untuk memverifikasi apakah konteksnya berfungsi, buat file uji sementara di bawah direktori ini menggunakan
mkdir -p /usr/local/Example/html/.well-known/acme-challenge/
touch /usr/local/Example/html/.well-known/acme-challenge/hello.txt
Kemudian kunjungi file ini dari browser seperti ` http://domain.com/.well-known/acme-challenge/hello.txt , jika Anda dapat mengunjungi file ini maka Anda dapat mencoba mengeluarkan SSL lagi dan seharusnya baik, jika tidak kembali ke Debugging dengan bagian baris perintah dan coba dari baris perintah lagi.