From cc0565e9091c0f3e8079f279c562a1e62d611569 Mon Sep 17 00:00:00 2001 From: Muhamad Sazwan Bin Ismail <208310745+Sazwanismail@users.noreply.github.com> Date: Mon, 22 Jun 2026 22:34:10 +0800 Subject: [PATCH] Add guide for enabling HTTPS on different platforms MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added comprehensive guide for enabling HTTPS on various hosting platforms including shared hosting, WordPress, Cloudflare, VPS, and others. Included step-by-step instructions and important post-activation checks. Berikut adalah langkah-langkah **tambahan dan lanjutan** yang perlu anda lakukan selepas SSL berjaya diaktifkan untuk memastikan laman web `www.sazwan.fairbase.com` benar-benar selamat, optimum, dan tiada ralat: ### 1. Selesaikan Masalah "Mixed Content" (Penting) Walaupun SSL sudah aktif, laman web mungkin masih menunjukkan amaran ⚠️ "Not Secure" jika ada gambar, CSS, atau skrip yang masih dimuatkan melalui `http://`. - **Cara Semak:** Buka laman web → Tekan `F12` → Klik tab **Console**. Cari ralat *Mixed Content*. - **Penyelesaian WordPress:** Pasang plugin **Better Search Replace**. Cari `http://www.sazwan.fairbase.com` dan gantikan dengan `https://www.sazwan.fairbase.com` dalam seluruh pangkalan data (backup dahulu!). - **Penyelesaian Manual:** Periksa kod tema atau widget yang menggunakan pautan luar (external links) yang tidak menyokong HTTPS. ### 2. Kemas Kini Google Search Console & Analytics Google menganggap `http://` dan `https://` sebagai dua entiti berbeza. - Log masuk ke **Google Search Console**. - Tambah properti baharu: `https://www.sazwan.fairbase.com`. - Hantar semula **Sitemap.xml** versi HTTPS. - Kemas kini tetapan **Google Analytics 4 (GA4)** supaya URL lalai ditukar kepada HTTPS agar data pelawat tidak terpecah. ### 3. Aktifkan HSTS (HTTP Strict Transport Security) HSTS memaksa pelayar web untuk *sentiasa* menggunakan HTTPS dan mengelakkan serangan *downgrade*. - **Di cPanel:** Beberapa hosting menyediakan butang "Enable HSTS" di halaman SSL/TLS Status. - **Melalui .htaccess (Jika tiada di cPanel):** Tambah baris ini *di bawah* kod redirect HTTPS tadi: ```apache Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" ``` > ⚠️ **Amaran:** Pastikan SSL berfungsi 100% tanpa ralat sebelum mengaktifkan HSTS. Jika SSL mati semasa HSTS aktif, pelawat tidak akan boleh mengakses laman langsung selama tempoh `max-age`. ### 4. Semak Sijil Subdomain & Wildcard Anda menyebut `www.sazwan.fairbase.com`. Pastikan sijil juga meliputi domain utama tanpa www: - Di **SSL/TLS Status**, pastikan kedua-dua `sazwan.fairbase.com` DAN `www.sazwan.fairbase.com` mempunyai padlock hijau. - Jika hanya satu yang hijau, tandakan kedua-duanya dan klik **Run AutoSSL** semula. ### 5. Tetapkan Auto-Renewal & Pemantauan Sijil Let's Encrypt/AutoSSL biasanya sah selama **90 hari**. - **Semak Auto-Renewal:** Di cPanel → SSL/TLS Status, pastikan domain tersebut **TIDAK** ditandakan sebagai "Excluded from AutoSSL". - **Uji Renewal Secara Manual:** Klik "Run AutoSSL" sebulan sekali untuk memastikan proses pembaharuan berjalan lancar. - **Pemantauan Percuma:** Daftar di [UptimeRobot](https://uptimerobot.com/) atau [SSL Mate](https://sslmate.com/) untuk menerima e-mel amaran 30 hari sebelum sijil tamat tempoh. ### 6. Uji Gred Keselamatan SSL Jangan anggap SSL aktif = SSL selamat. Konfigurasi lemah boleh mendapat gred C atau F. - Layari **[SSL Labs Test](https://www.ssllabs.com/ssltest/)**. - Masukkan `www.sazwan.fairbase.com`. - Sasarkan gred **A** atau **A+**. Jika dapat B atau lebih rendah, laporan itu akan memberitahu tepat apa yang perlu dibaiki (contoh: TLS 1.0/1.1 perlu dilumpuhkan, cipher lemah, dll). --- ### Senarai Semak Ringkas Pasca-Aktivasi | Tugas | Status | | :--- | :--- | | Redirect HTTP → HTTPS berfungsi | ☐ | | Tiada Mixed Content di Console | ☐ | | Kedua-dua www & non-www mempunyai SSL | ☐ | | Google Search Console dikemas kini | ☐ | | HSTS diaktifkan (pilihan tetapi disyorkan) | ☐ | | Auto-Renewal tidak di-exclude | ☐ | | Gred SSL Labs ≥ A | ☐ | Adakah anda mahu saya bantu dengan mana-mana langkah spesifik di atas? Contohnya, saya boleh berikan arahan terperinci untuk **menggantikan pautan Mixed Content dalam WordPress** atau **konfigurasi HSTS yang selamat** untuk server anda. Here is a comprehensive guide to enabling HTTPS across the most common web platforms. Since you previously asked in Malay, this guide is provided in **Bahasa Melayu** for consistency, covering platforms beyond cPanel. ### 1. WordPress (Self-Hosted) *Selepas SSL dipasang di server/hosting:* 1. Pasang plugin **Really Simple SSL** atau **WP Force SSL**. 2. Aktifkan plugin → Klik **"Go ahead, activate SSL"**. 3. Plugin akan menukar URL laman secara automatik dan menyelesaikan *mixed content*. 4. **Manual (tanpa plugin):** Pergi ke **Tetapan > Umum** → Tukar "Alamat WordPress" dan "Alamat Laman" daripada `http://` kepada `https://`. 5. Tambah kod ini dalam `wp-config.php` untuk memaksa SSL di dashboard: ```php define('FORCE_SSL_ADMIN', true); ``` --- ### 2. Blogger / Blogspot *Blogger menyediakan SSL percuma secara terbina dalam:* 1. Log masuk ke **Blogger Dashboard**. 2. Pergi ke **Tetapan (Settings)** → Bahagian **HTTPS**. 3. Hidupkan **"Kesediaan HTTPS"** (HTTPS Availability). 4. Tunggu status bertukar kepada "Sijil sedang diproses" → Kemudian "Aktif". 5. Hidupkan **"Pengalihan HTTPS"** (HTTPS Redirect) untuk memaksa semua trafik ke HTTPS. 6. ⚠️ Jika status kekal "Tidak Tersedia": Buang semua widget/gambar yang menggunakan `http://` luaran, kemudian cuba lagi selepas 24 jam. --- ### 3. VPS / Server Sendiri (Ubuntu/Debian + Nginx/Apache) *Gunakan Certbot (Let's Encrypt) – percuma & auto-renew:* **Nginx:** ```bash sudo apt update && sudo apt install certbot python3-certbot-nginx sudo certbot --nginx -d domain.com -d www.domain.com # Uji auto-renewal: sudo certbot renew --dry-run ``` **Apache:** ```bash sudo apt update && sudo apt install certbot python3-certbot-apache sudo certbot --apache -d domain.com -d www.domain.com sudo certbot renew --dry-run ``` **Docker / Reverse Proxy (Caddy):** Caddy mengaktifkan HTTPS **secara automatik** tanpa sebarang konfigurasi tambahan: ```caddyfile www.sazwan.fairbase.com { reverse_proxy localhost:8080 } ``` --- ### 4. Cloudflare (CDN / Proxy) *Sesuai jika domain sudah di-proxy melalui Cloudflare:* 1. Login ke **Cloudflare Dashboard** → Pilih domain. 2. Pergi ke **SSL/TLS** → **Overview**. 3. Tetapkan mod enkripsi: - **Full (Strict)** ← *Disyorkan* (server asal mesti ada SSL sah) - **Full** ← Server asal ada SSL tapi self-signed - ❌ **Flexible** ← *Elakkan* (boleh menyebabkan redirect loop) 4. Pergi ke **Edge Certificates** → Aktifkan: - ✅ Always Use HTTPS - ✅ Automatic HTTPS Rewrites - ✅ HSTS (pilihan, selepas yakin SSL stabil) --- ### 5. Platform E-Commerce & Website Builder | Platform | Cara Aktifkan HTTPS | Nota Penting | | :--- | :--- | :--- | | **Shopify** | Automatik. Pergi ke **Online Store > Domains** → Klik "Activate SSL". | Ambil masa 48 jam selepas domain disambungkan. | | **Wix** | Automatik untuk semua pelan berbayar. Tiada tetapan manual. | Domain custom mesti disambungkan dahulu. | | **Squarespace** | Automatik. Semua laman dilindungi SSL secara lalai. | Sijil dijana semula setiap 90 hari secara automatik. | | **Laravel Forge** | Satu klik: Pilih site → **SSL** → **Obtain Certificate** (Let's Encrypt). | Auto-renewal dikonfigurasi secara automatik. | | **Vercel / Netlify** | Automatik. Setiap deployment mendapat SSL percuma. | Domain custom: Tambah di dashboard → SSL dijana automatik. | --- ### 6. Localhost / Development Environment *Untuk tujuan pembangunan sahaja, bukan produksi:* ```bash # Menggunakan mkcert (disyorkan – dipercayai oleh pelayar tempatan) brew install mkcert # macOS mkcert -install mkcert localhost 127.0.0.1 ::1 # Atau menggunakan Caddy (auto-SSL untuk localhost) caddy file-server --listen :443 ``` --- ### ⚠️ Senarai Semak Universal (Semua Platform) Tidak kira platform apa pun, sentiasa lakukan perkara ini selepas mengaktifkan HTTPS: 1. ✅ **Uji redirect:** Taip `http://domain.com` → Mesti bertukar ke `https://` 2. ✅ **Semak Mixed Content:** F12 → Console → Tiada amaran kuning/merah 3. ✅ **Verifikasi sijil:** Klik 🔒 di address bar → Sijil sah & belum tamat tempoh 4. ✅ **Uji gred keselamatan:** [ssllabs.com/ssltest](https://www.ssllabs.com/ssltest/) → Sasarkan **A** atau **A+** 5. ✅ **Kemas kini Search Console:** Tambah properti HTTPS baharu + hantar sitemap semula > 💡 **Petua:** Jika anda memberitahu saya platform spesifik yang anda gunakan, saya boleh berikan arahan yang lebih terperinci dan tepat untuk situasi anda. --- Https | 155 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 Https diff --git a/Https b/Https new file mode 100644 index 0000000..0102d71 --- /dev/null +++ b/Https @@ -0,0 +1,155 @@ +Untuk mengaktifkan HTTPS (SSL) pada website Anda, langkah-langkahnya sangat bergantung pada **di mana** website Anda di-hosting. Berikut adalah panduan berdasarkan skenario yang paling umum: + +### 1. Jika Menggunakan Shared Hosting (cPanel / DirectAdmin) +Sebagian besar penyedia hosting modern menyediakan SSL gratis (Let's Encrypt). + +* **Login ke cPanel.** +* Cari menu **"SSL/TLS Status"** atau **"Let's Encrypt"**. +* Pilih domain/subdomain yang ingin diamankan. +* Klik tombol **"Run AutoSSL"** atau **"Issue"**. +* Tunggu beberapa menit hingga status berubah menjadi hijau/valid. +* *Opsional:* Aktifkan **"Force HTTPS Redirect"** di menu "Domains" atau melalui file `.htaccess` agar pengunjung otomatis dialihkan dari HTTP ke HTTPS. + +### 2. Jika Menggunakan WordPress +Setelah SSL terinstal di server/hosting: + +* Install plugin **Really Simple SSL** atau **WP Force SSL**. +* Aktifkan plugin tersebut → klik **"Go ahead, activate SSL"**. +* Plugin akan otomatis menangani redirect dan memperbaiki mixed content. +* *Alternatif Manual:* Ubah URL di **Settings > General** dari `http://` menjadi `https://` (lakukan backup database terlebih dahulu!). + +### 3. Jika Menggunakan Cloudflare +Cloudflare menyediakan SSL gratis tanpa perlu instalasi di server origin: + +* Login ke dashboard Cloudflare → pilih domain. +* Masuk ke menu **SSL/TLS > Overview**. +* Pilih mode **Full** atau **Full (Strict)** (jangan gunakan "Flexible" untuk produksi karena kurang aman). +* Aktifkan **"Always Use HTTPS"** di tab Edge Certificates. +* Pastikan sertifikat Universal SSL sudah aktif (biasanya otomatis dalam 15 menit). + +### 4. Jika Menggunakan VPS / Server Sendiri (Nginx/Apache) +Gunakan **Certbot** untuk mendapatkan sertifikat Let's Encrypt gratis: + +```bash +# Install Certbot (contoh Ubuntu/Debian + Nginx) +sudo apt install certbot python3-certbot-nginx + +# Dapatkan & pasang sertifikat otomatis +sudo certbot --nginx -d example.com -d www.example.com + +# Verifikasi auto-renewal +sudo certbot renew --dry-run +``` + +Untuk **Apache**: +```bash +sudo apt install certbot python3-certbot-apache +sudo certbot --apache -d example.com +``` + +### 5. Platform Lain +| Platform | Cara Aktivasi | +|---|---| +| **Netlify / Vercel** | Otomatis aktif, tidak perlu konfigurasi | +| **GitHub Pages** | Settings > Pages > Enforce HTTPS | +| **Blogger** | Settings > HTTPS > Redirect = Yes | +| **Shopify** | Otomatis, tunggu propagasi DNS | + +--- + +### ⚠️ Checklist Setelah Aktivasi +1. **Cek validitas:** Buka [whynopadlock.com](https://www.whynopadlock.com) atau klik ikon gembok di browser. +2. **Fix Mixed Content:** Pastikan semua resource (gambar, CSS, JS) dimuat via `https://`, bukan `http://`. +3. **Update Search Console:** Tambahkan properti HTTPS baru di Google Search Console. +4. **Update internal links:** Ganti semua link hardcoded `http://` di konten/database. + +--- + +**Agar saya bisa memberikan panduan yang lebih spesifik, mohon informasikan:** +- Apa platform/hosting yang Anda gunakan? +- Apakah Anda sudah memiliki sertifikat SSL atau belum? +- Apakah ada pesan error tertentu yang muncul?Untuk mengaktifkan HTTPS (SSL) pada website Anda, langkah-langkahnya sangat bergantung pada **di mana** website Anda di-hosting. Berikut adalah panduan berdasarkan skenario yang paling umum: + +### 1. Jika Menggunakan Shared Hosting (cPanel / DirectAdmin) +Sebagian besar penyedia hosting modern menyediakan SSL gratis (Let's Encrypt). +* **Login ke cPanel.** +* Cari menu **"SSL/TLS Status"** atau **"Let's Encrypt"**. +* Pilih domain Anda, lalu klik **"Run AutoSSL"** atau **"Issue"**. +* Tunggu beberapa menit hingga status berubah menjadi hijau/aktif. +* *Catatan:* Jika tidak ada opsi gratis, cek menu "Security" atau hubungi support hosting Anda untuk meminta SSL gratis. + +### 2. Jika Menggunakan Cloudflare +Cloudflare menyediakan SSL universal secara gratis dan otomatis. +* Login ke dashboard Cloudflare dan pilih domain. +* Masuk ke menu **SSL/TLS** > **Overview**. +* Ubah mode enkripsi menjadi **"Full"** atau **"Full (Strict)"** (jangan gunakan "Flexible" kecuali terpaksa, karena bisa menyebabkan redirect loop). +* Aktifkan **"Always Use HTTPS"** di tab *Edge Certificates*. + +### 3. Jika Menggunakan VPS / Server Sendiri (Nginx / Apache) +Gunakan **Certbot** (Let's Encrypt) untuk mendapatkan dan memasang sertifikat gratis secara otomatis. + +**Untuk Nginx (Ubuntu/Debian):** +```bash +sudo apt update +sudo apt install certbot python3-certbot-nginx +sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com +``` + +**Untuk Apache (Ubuntu/Debian):** +```bash +sudo apt update +sudo apt install certbot python3-certbot-apache +sudo certbot --apache -d yourdomain.com -d www.yourdomain.com +``` +*Certbot akan otomatis mengedit konfigurasi server dan mengatur auto-renewal.* + +### 4. Jika Menggunakan WordPress +Setelah SSL terpasang di level server/hosting: +* Install plugin **"Really Simple SSL"** atau **"WP Force SSL"**. +* Aktifkan plugin tersebut; ia akan otomatis memperbaiki mixed content dan memaksa semua halaman menggunakan HTTPS. +* Atau, ubah URL situs secara manual di **Settings > General** dari `http://` menjadi `https://`. + +--- + +### ⚠️ Langkah Penting Setelah Aktivasi +1. **Force Redirect HTTP ke HTTPS:** Pastikan semua trafik dialihkan. Di cPanel biasanya ada toggle "Force HTTPS". Di VPS, Certbot biasanya melakukannya otomatis. +2. **Cek Mixed Content:** Buka website, tekan F12 > Console. Jika ada warning "Mixed Content", berarti masih ada gambar/script yang dimuat via HTTP. Perbaiki URL-nya menjadi HTTPS atau relatif (`//`). +3. **Update Google Search Console:** Jika situs sudah terdaftar, tambahkan properti versi HTTPS dan submit ulang sitemap. +4. **Verifikasi:** Cek di [SSL Labs](https://www.ssllabs.com/ssltest/) untuk memastikan konfigurasi SSL Anda aman (target rating A atau A+). + +--- + +**Agar saya bisa memberikan instruksi yang lebih spesifik, mohon informasikan:** +* Apa penyedia hosting atau platform yang Anda gunakan? (contoh: Niagahoster, Hostinger, AWS, DigitalOcean, Blogger, dll.) +* Apakah Anda sudah memiliki sertifikat SSL atau belum?Ya, arahan anda adalah **tepat**. Berikut adalah ringkasan langkah tersebut dalam format yang lebih terperinci untuk memudahkan pelaksanaan di cPanel: + +### Langkah Mengaktifkan SSL Percuma di cPanel + +1. **Log masuk ke cPanel** hosting anda. +2. Cari bahagian **SECURITY**, kemudian klik **"SSL/TLS Status"**. + * *Nota:* Sesetengah hosting meletakkan ikon ini sebagai **"Let's Encrypt SSL"** atau **"AutoSSL"**. Jika tidak jumpa "SSL/TLS Status", cari nama-nama alternatif ini. +3. Tandakan kotak pada domain **`www.sazwan.fairbase.com`** (dan juga `sazwan.fairbase.com` tanpa www jika ada). +4. Klik butang **"Run AutoSSL"** di bahagian atas. +5. Tunggu proses selesai (biasanya 1-3 minit) sehingga ikon padlock berwarna **hijau** dan status tertulis *"The certificate is valid"*. + +### Selepas Aktivasi Berjaya + +* ✅ Laman web akan boleh diakses melalui `https://www.sazwan.fairbase.com` +* ✅ Pelayar akan memaparkan ikon 🔒 (secure) +* ✅ Kebanyakan hosting moden akan **mengarah semula (redirect)** trafik HTTP ke HTTPS secara automatik selepas AutoSSL berjaya + +### ⚠️ Semakan Tambahan (Jika Redirect Tidak Automatik) + +Jika laman masih boleh diakses via `http://` selepas SSL aktif, lakukan salah satu berikut: + +- **Di cPanel:** Kembali ke "SSL/TLS Status", pastikan toggle **"Exclude from AutoSSL"** TIDAK diaktifkan, dan semak sama ada ada pilihan **"Force HTTPS Redirect"** yang perlu dihidupkan. +- **Melalui .htaccess:** Tambah kod ini di fail `.htaccess` dalam `public_html`: + ```apache + RewriteEngine On + RewriteCond %{HTTPS} off + RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] + ``` +- **Jika guna WordPress:** Pasang plugin **Really Simple SSL** untuk mengurus redirect dan mixed content secara automatik. + +### Verifikasi Akhir +Selepas selesai, buka pelayar dan taip `http://www.sazwan.fairbase.com` — ia sepatutnya **terus bertukar** kepada `https://` dengan ikon 🔒. Anda juga boleh semak gred SSL di [ssllabs.com/ssltest](https://www.ssllabs.com/ssltest/) untuk memastikan konfigurasi adalah selamat.