Soalan Lazim ServBay
Ketika menggunakan persekitaran pembangunan web tempatan ServBay, para pembangun mungkin menghadapi beberapa masalah. Dokumen ini bertujuan untuk menjawab isu biasa seperti naik taraf ServBay Runtime, cara menyelesaikan masalah akses laman web tempatan apabila menggunakan alat proksi seperti ClashX Pro, serta gangguan akses rangkaian yang berkaitan dengan perkhidmatan dnsmasq.
Bagaimana untuk menaik taraf ServBay Runtime?
ServBay Runtime ialah komponen teras ServBay dan penting untuk memastikan operasi stabil ServBay serta servis yang dihoskan. Apabila versi baharu dikeluarkan, ServBay akan memaparkan notis naik taraf semasa aplikasi dimulakan. Mengemas kini Runtime secara berkala membantu meningkatkan prestasi, kestabilan, dan memastikan keserasian persekitaran anda.
Langkah-langkah untuk menaik taraf ServBay Runtime:
- Buka aplikasi ServBay.
- Dalam bar navigasi kiri tetingkap ServBay, pilih Pakej > Perkhidmatan Umum.
- Pada panel kanan, cari entri ServBay Runtime.
- Jika kemas kini tersedia untuk ServBay Runtime, akan kelihatan notis naik taraf berwarna kuning atau butang naik taraf. Klik butang naik taraf berwarna kuning tersebut.
- ServBay akan memulakan proses muat turun dan pemasangan versi Runtime terkini. Sabar menunggu sehingga proses naik taraf selesai.
Selepas naik taraf selesai, ServBay Runtime akan berjalan pada versi paling terkini, memberikan kestabilan dan prestasi yang lebih baik.
Mengapa laman web tempatan ServBay tidak dapat diakses selepas menggunakan ClashX Pro (atau alat proksi lain)?
Ramai pembangun menggunakan ServBay untuk pembangunan dan ujian secara lokal, biasanya dengan menetapkan nama domain tempatan tersuai (seperti servbay.demo
, myproject.servbay.demo
dan lain-lain) yang biasanya menunjuk ke alamat loopback 127.0.0.1
.
Apabila anda menggunakan ClashX Pro atau alat proksi/VPN lain (seperti Surge, Quantumult X dan sebagainya), alat-alat ini mungkin memaksa semua permintaan DNS dialihkan atau dirampas untuk mengubah hala penyelesaian nama domain ke server proksi mereka. Ini memintas proses penyelesaian DNS sistem operasi dan juga tetapan dalam fail hosts anda (di mana ServBay bergantung untuk resolusi domain tempatan), menyebabkan nama domain pembangunan tempatan yang anda konfigurasi dalam ServBay gagal resolusi ke IP lokal, sekali gus mengakibatkan laman web tempatan anda tidak dapat diakses.
Untuk mengatasi masalah ini, anda perlu menambah peraturan dalam konfigurasi alat proksi anda supaya nama domain pembangunan tempatan anda tidak diproksi atau permintaan DNS untuk domain tersebut tidak dirampas — biasanya dengan mengkonfigurasi "Bypass Proxy", "Ignore Proxy", "Whitelist" atau "Exclusion List".
Sebagai contoh konfigurasi untuk ClashX Pro, sila ikuti langkah berikut:
- Buka aplikasi ClashX Pro.
- Dalam bar menu macOS, cari ikon ClashX Pro, klik dan pilih Tetapan Lanjutan.
- Dalam tetingkap tetapan yang dibuka, pergi ke tab Umum.
- Cari kotak input yang bertajuk Abaikan tetapan proksi untuk host dan domain berikut (atau nama serupa).
- Tambahkan nama domain pembangunan tempatan anda ke senarai ini. Untuk meliputi domain lazim dalam ServBay, disarankan untuk menambah
localhost
,127.0.0.1
, serta domain atau wildcard domain tersuai yang anda gunakan pada ServBay. Sebagai contoh, jika anda menggunakan akhiran domain.servbay.demo
, tambahkan*.servbay.demo
. Anda boleh memisahkan entri dengan koma (,
) atau baris baru. Contoh konfigurasi tipikal:localhost, 127.0.0.1, *.servbay.demo, yourproject.servbay.demo
1 - Simpan tetapan dan ikut arahan ClashX Pro, kemungkinan anda perlu memuat semula atau mengaplikasikan konfigurasi terbaru untuk membolehkan perubahan.
(Gambar: Konfigurasi pengecualian proksi untuk host dan domain dalam ClashX Pro)
Selepas konfigurasi di atas selesai, ClashX Pro tidak akan mengganggu pengesahan nama domain tempatan khusus tersebut, dan laman web tempatan ServBay anda seharusnya boleh diakses seperti biasa. Jika masalah masih berterusan, pastikan nama domain telah dikonfigurasi dengan betul pada tetapan Laman Web dalam ServBay, serta servis berkaitan seperti Caddy atau Nginx berjalan dengan baik. Anda juga boleh gunakan arahan terminal ping yourproject.servbay.demo
atau dig yourproject.servbay.demo
untuk diagnos status resolusi domain anda.
Kenapa semua laman web tidak dapat diakses selepas mengaktifkan dnsmasq ServBay dan memulakan semula sistem?
Jika selepas mengaktifkan perkhidmatan dnsmasq ServBay anda dapati semua laman web tidak dapat diakses sebaik sahaja sistem dimulakan semula, ini biasanya disebabkan oleh masalah konfigurasi DNS sistem. Perkhidmatan dnsmasq ServBay berjalan pada 127.0.0.1
, dan apabila DNS server sistem anda diubah kepada 127.0.0.1
, semua query DNS akan dihantar ke dnsmasq untuk resolusi.
Jika selepas restart perkhidmatan dnsmasq gagal dimulakan, namun DNS server sistem masih mengarah kepada 127.0.0.1
, semua permintaan DNS akan gagal lalu menjejaskan akses ke mana-mana laman web.
Penyelesaian
Sila ikut langkah di bawah untuk semakan dan penyelesaian:
Periksa status perkhidmatan dnsmasq
Pertama, buka aplikasi ServBay dan semak sama ada perkhidmatan dnsmasq sedang berjalan:
- Dalam bar navigasi kiri tetingkap ServBay, pilih Pakej > Perkhidmatan Umum
- Cari perkhidmatan dnsmasq, semak status operasi
- Jika perkhidmatan belum berjalan, cuba mulakan secara manual
Semak tetapan DNS sistem
Jika perkhidmatan dnsmasq tidak dapat dimulakan atau anda belum memerlukannya, sila keluarkan
127.0.0.1
dari tetapan DNS sistem dengan langkah berikut:- Buka Tetapan Sistem (atau Keutamaan Sistem)
- Pergi ke menu Rangkaian
- Pilih sambungan rangkaian aktif anda (Wi-Fi atau Ethernet)
- Klik Maklumat... atau Lanjutan...
- Beralih ke tab DNS
- Dalam senarai DNS server, cari dan padam entri
127.0.0.1
- Anda boleh menambah DNS awam lain seperti:
8.8.8.8
(Google DNS)1.1.1.1
(Cloudflare DNS)223.5.5.5
(DNS Alibaba Cloud)
- Klik OK atau Apply untuk simpan perubahan
Aktifkan dnsmasq semula (pilihan)
Selepas Dns berfungsi semula, jika anda mahu menggunakan perkhidmatan dnsmasq ServBay untuk resolusi domain tempatan:
- Pastikan perkhidmatan dnsmasq telah berjaya dimulakan dalam ServBay
- Masukkan semula
127.0.0.1
sebagai entri pertama dalam senarai DNS server sistem anda - Pastikan konfigurasi dnsmasq betul dan boleh menghantar permintaan domain luar ke DNS upstream
Dengan langkah-langkah di atas, anda sepatutnya boleh memulihkan akses rangkaian sepenuhnya. Adalah disarankan supaya anda hanya mengubah tetapan DNS sistem selepas dnsmasq beroperasi dengan baik untuk mengelakkan masalah seperti ini berulang.