Mengonfigurasi Pengalihan Situs Web di ServBay
Pengalihan situs web adalah proses mengarahkan pengunjung dari satu URL ke URL lainnya secara otomatis. Mengatur pengalihan di lingkungan pengembangan lokal sangat penting untuk mensimulasikan perilaku di server produksi, menguji perubahan struktur URL, atau memastikan tautan lama tetap berfungsi pada versi pengembangan baru. ServBay, sebagai lingkungan pengembangan web lokal yang andal, memungkinkan Anda dengan mudah mengonfigurasi pengalihan situs web melalui server web terintegrasi (Caddy atau Nginx).
Ringkasan
Di ServBay, setiap situs yang Anda buat memiliki file konfigurasi server web tersendiri. Pengalihan diatur dengan mengubah file konfigurasi server web tersebut. ServBay mendukung Caddy dan Nginx sebagai server web, dan Anda dapat memilih salah satunya sesuai kebutuhan atau preferensi proyek Anda. Mengonfigurasi pengalihan umumnya melibatkan penentuan pola URL sumber, tujuan pengalihan, serta tipe pengalihan (seperti 301 pengalihan permanen atau 302 pengalihan sementara).
Skenario Penggunaan
Beberapa skenario umum menggunakan pengalihan di ServBay pada pengembangan lokal antara lain:
- Mensimulasikan Server Produksi: Memastikan aturan pengalihan lokal Anda sesuai dengan aturan di lingkungan produksi.
- Menguji HTTPS: Memaksa semua permintaan HTTP dialihkan ke HTTPS untuk simulasi koneksi aman.
- Normalisasi URL: Mengalihkan domain dengan
www
ke non-www
, atau sebaliknya, untuk konsistensi alamat URL. - Menangani Perubahan Struktur URL: Ketika Anda mengganti path atau struktur halaman, mengalihkan URL lama ke yang baru untuk mencegah error "halaman tidak ditemukan" saat pengujian.
- Uji Migrasi Domain: Mensimulasikan pengalihan domain lama ke domain baru.
Prasyarat
Untuk dapat mengonfigurasi pengalihan situs web di ServBay, pastikan Anda telah:
- Menginstal dan menjalankan ServBay.
- Menambahkan dan mengatur situs yang ingin Anda atur pengalihannya di ServBay.
- Mengetahui server web (Caddy atau Nginx) yang digunakan pada situs Anda.
Cara Konfigurasi
ServBay menyediakan file konfigurasi server web terpisah untuk setiap situs. Anda dapat dengan mudah mengakses dan mengedit file tersebut melalui antarmuka ServBay.
Mengakses File Konfigurasi Situs
- Buka aplikasi ServBay.
- Pada sidebar kiri, klik Situs Web (Website).
- Temukan situs yang ingin Anda konfigurasikan pengalihannya, lalu klik namanya untuk masuk ke detail situs.
- Di halaman detail situs, cari dan klik opsi “file konfigurasi” atau yang serupa (penempatan dan penamaannya dapat sedikit berbeda tergantung versi ServBay). Ini akan membuka file konfigurasi server web untuk situs tersebut.
Selanjutnya, sesuaikan konfigurasi berikut tergantung Anda menggunakan Caddy atau Nginx.
Pengalihan Menggunakan Caddy
Jika Anda menggunakan Caddy sebagai server web, yang diedit adalah Caddyfile. Sintaks Caddyfile dikenal sederhana dan mudah dipahami.
Berikut adalah beberapa contoh pengaturan pengalihan di Caddy. Tambahkan konfigurasi berikut di dalam blok alamat situs ({}
) pada Caddyfile situs Anda.
Contoh 1: Pengalihan HTTP ke HTTPS
Secara default, Caddy secara otomatis menangani pengalihan HTTP ke HTTPS asalkan SSL sudah diaktifkan (baik menggunakan CA ServBay User maupun ACME). Jika Anda ingin mengatur secara manual atau lebih detail, gunakan direktif redirect
:
bash
servbay.demo {
# ... konfigurasi lainnya ...
# Paksa semua permintaan HTTP dialihkan ke HTTPS
# Jika SSL ServBay aktif, biasanya Anda tidak perlu mengatur ini secara manual
# Tapi jika ingin kustomisasi, bisa gunakan aturan berikut:
redir http://servbay.demo https://servbay.demo{uri} permanent
# ... konfigurasi lainnya ...
}
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
Contoh 2: Pengalihan non-www ke www
Mengalihkan servbay.demo
ke www.servbay.demo
:
bash
servbay.demo {
# Alihkan semua permintaan ke www.servbay.demo secara permanen
redir https://www.servbay.demo{uri} permanent
}
www.servbay.demo {
# Konfigurasi situs utama untuk www.servbay.demo
root * /Applications/ServBay/www/your-servbay-demo-site
file_server
# ... konfigurasi lainnya ...
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
Contoh 3: Pengalihan www ke non-www
Mengalihkan www.servbay.demo
ke servbay.demo
:
bash
www.servbay.demo {
# Alihkan semua permintaan ke servbay.demo secara permanen
redir https://servbay.demo{uri} permanent
}
servbay.demo {
# Konfigurasi situs utama untuk servbay.demo
root * /Applications/ServBay/www/your-servbay-demo-site
file_server
# ... konfigurasi lainnya ...
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
Contoh 4: Pengalihan Path Khusus
Mengalihkan /old-path
ke /new-path
:
bash
servbay.demo {
# ... konfigurasi lainnya ...
# Pengalihan permanen dari /old-path ke /new-path
redir /old-path /new-path permanent
# Pengalihan sementara dari /deprecated/page.html ke /new/page/
redir /deprecated/page.html /new/page/ temporary
# ... konfigurasi lainnya ...
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
Tipe Pengalihan di Caddy
permanent
: Pengalihan 301 (permanen), baik bagi SEO.temporary
: Pengalihan 302 (sementara).internal
: Rewriting internal, URL tidak berubah (bukan pengalihan HTTP murni).
Setelah mengedit Caddyfile, simpan file tersebut. ServBay akan secara otomatis, atau meminta Anda, untuk me-reload konfigurasi Caddy agar perubahan berlaku.
Pengalihan Menggunakan Nginx
Jika menggunakan Nginx sebagai server web, edit file konfigurasi Nginx (umumnya berekstensi .conf
). Nginx menggunakan perintah return
atau rewrite
untuk pengalihan; return
lebih sederhana dan cocok untuk pengalihan statis, sementara rewrite
lebih cocok untuk kebutuhan kompleks dengan regex.
Berikut adalah beberapa contoh konfigurasi pengalihan di Nginx. Tambahkan aturan-aturan ini ke file .conf
situs Anda, umumnya di dalam blok server
.
Contoh 1: Pengalihan HTTP ke HTTPS
Di ServBay, jika situs Anda mendengarkan di port 80 dan 443, tambahkan aturan pengalihan pada blok server
yang mendengarkan port 80:
nginx
server {
listen 80;
listen [::]:80;
server_name servbay.demo www.servbay.demo;
# Alihkan semua permintaan HTTP ke HTTPS
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name servbay.demo www.servbay.demo;
# ... konfigurasi lainnya untuk HTTPS ...
# ssl_certificate ...;
# ssl_certificate_key ...;
# Root direktori situs, dsb.
root /Applications/ServBay/www/your-servbay-demo-site;
index index.html index.htm index.php;
# ... blok location lainnya ...
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Contoh 2: Pengalihan non-www ke www
Mengalihkan servbay.demo
ke www.servbay.demo
:
nginx
server {
listen 80;
listen [::]:80;
server_name servbay.demo; # Mendengarkan domain non-www
# Alihkan semua permintaan ke subdomain www, tetap mempertahankan protokol dan URI
return 301 $scheme://www.servbay.demo$request_uri;
}
server {
listen 80;
listen [::]:80;
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name www.servbay.demo; # Mendengarkan domain www
# ... konfigurasi normal untuk www ...
# ssl_certificate ...;
# ssl_certificate_key ...;
root /Applications/ServBay/www/your-servbay-demo-site;
index index.html index.htm index.php;
# ...
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Contoh 3: Pengalihan www ke non-www
Mengalihkan www.servbay.demo
ke servbay.demo
:
nginx
server {
listen 80;
listen [::]:80;
server_name www.servbay.demo; # Mendengarkan domain www
# Alihkan semua permintaan ke domain tanpa www, tetap mempertahankan protokol dan URI
return 301 $scheme://servbay.demo$request_uri;
}
server {
listen 80;
listen [::]:80;
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name servbay.demo; # Mendengarkan domain non-www
# ... konfigurasi normal untuk non-www ...
# ssl_certificate ...;
# ssl_certificate_key ...;
root /Applications/ServBay/www/your-servbay-demo-site;
index index.html index.htm index.php;
# ...
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Contoh 4: Pengalihan Path Khusus (menggunakan blok location
, return
atau rewrite
)
Mengalihkan /old-path
ke /new-path
:
nginx
server {
# ... konfigurasi server lainnya ...
location = /old-path {
# Cocokkan tepat /old-path, lalu lakukan pengalihan permanen ke /new-path
return 301 /new-path;
}
location /deprecated/ {
# Alihkan semua permintaan di bawah /deprecated/ secara sementara ke /archive/
rewrite ^/deprecated/(.*)$ /archive/$1 temporary;
}
# ... blok location lainnya ...
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Tipe Pengalihan di Nginx
301
: Pengalihan permanen.302
: Pengalihan sementara.redirect
: Sama dengan 302.permanent
: Sama dengan 301.
Setelah mengedit file .conf
Nginx, simpan file tersebut. ServBay biasanya akan secara otomatis me-reload konfigurasi, atau meminta Anda untuk melakukannya.
Tips Penting
- Backup File Konfigurasi: Selalu backup file konfigurasi sebelum melakukan perubahan, agar mudah mengembalikan jika terjadi kesalahan.
- Cek Sintaks: Setelah perubahan, cek ulang sintaks konfigurasi Anda. ServBay biasanya melakukan pemeriksaan dasar saat penyimpanan, namun lebih aman bila Anda cek manual. Untuk Nginx, jalankan
nginx -t
(bila tersedia di PATH atau melalui terminal ServBay). - Uji Pengalihan: Setelah konfigurasi, uji sejumlah skenario di browser Anda, termasuk dengan/ tanpa
www
, via HTTP dan HTTPS, dan path-path khusus yang diatur. - Cache Browser: Browser akan meng-cache pengalihan permanen (301). Jika sering mengubah aturan 301 saat pengujian, bisa terjadi masalah cache. Bersihkan cache browser atau gunakan mode incognito/opsi disable cache di devtools untuk pengujian. Untuk uji sementara, gunakan 302 terlebih dahulu sebelum aturan menjadi final dengan 301.
- Reload ServBay: Setelah perubahan file konfigurasi, pastikan ServBay berhasil me-reload konfigurasi server web. Biasanya ServBay menangani otomatis, namun cek notifikasi di UI atau klik tombol reload jika ada.
FAQ (Pertanyaan yang Sering Diajukan)
T: Saya sudah mengatur pengalihan, tapi browser tidak mengalihkan?
J: Kemungkinan penyebabnya:
- Kesalahan konfigurasi: Cek sintaks file konfigurasi dan pastikan sudah tersimpan dengan benar.
- ServBay belum reload konfigurasi: Pastikan ServBay sudah benar-benar menerapkan perubahan konfigurasi Anda.
- Cache browser: Bersihkan cache browser atau uji di mode incognito.
- Masalah kecocokan URL: Pastikan aturan pengalihan sesuai pola/url yang diakses.
T: Apa beda 301 dan 302 redirect? Mana yang sebaiknya dipakai di lokal?
J: 301 adalah pengalihan permanen, memberitahu browser dan mesin pencari bahwa sumber daya sudah pindah secara permanen (baik untuk SEO). 302 adalah pengalihan sementara. Untuk pengujian atau debugging lokal, 302 lebih nyaman karena tidak di-cache. Gunakan 301 jika Anda ingin mensimulasikan migrasi permanen, seperti perubahan domain.
T: Setelah edit konfigurasi, ServBay menampilkan error atau web server gagal start, apa solusinya?
J: Biasanya disebabkan kesalahan sintaks di konfigurasi. Cek ulang bagian yang Anda tambahkan atau ubah, pastikan mengikuti aturan sintaks Caddyfile atau Nginx. Lihat log ServBay untuk detail error dan solusi.
Kesimpulan
Mengatur pengalihan situs web di ServBay merupakan hal umum saat pengembangan lokal. Anda hanya perlu mengedit file konfigurasi Caddy atau Nginx secara langsung. Baik untuk meniru perilaku server produksi, menguji HTTPS, maupun menyesuaikan struktur URL, memahami aturan pengalihan di server web (redir
pada Caddy, return
/rewrite
pada Nginx) akan membantu Anda bekerja secara efisien dengan ServBay. Setelah konfigurasi, pastikan menguji semua skenario dan perhatikan efek cache browser selama proses.