Câu hỏi thường gặp về ServBay
Khi sử dụng môi trường phát triển Web nội bộ ServBay, các lập trình viên có thể gặp phải một số vấn đề. Tài liệu này nhằm giải đáp những thắc mắc phổ biến như nâng cấp ServBay Runtime, cách khắc phục sự cố truy cập web nội bộ do các công cụ proxy như ClashX Pro gây ra, và lỗi truy cập mạng liên quan đến dịch vụ dnsmasq.
Làm thế nào để nâng cấp ServBay Runtime?
ServBay Runtime là thành phần cốt lõi của ServBay, đóng vai trò quan trọng trong việc đảm bảo hoạt động ổn định cho ServBay và các dịch vụ web mà nó quản lý. Khi có phiên bản mới được phát hành, ServBay sẽ hiển thị thông báo nhắc người dùng cập nhật khi khởi động. Việc nâng cấp Runtime kịp thời giúp nâng cao hiệu suất, độ ổn định tổng thể của ServBay và đảm bảo khả năng tương thích.
Để nâng cấp ServBay Runtime, hãy thực hiện các bước sau:
- Mở ứng dụng ServBay.
- Ở thanh điều hướng bên trái cửa sổ ServBay, chọn Gói phần mềm > Dịch vụ chung.
- Tại bảng điều khiển bên phải, tìm mục ServBay Runtime.
- Nếu ServBay Runtime có bản cập nhật, sẽ hiển thị cảnh báo màu vàng hoặc nút nâng cấp. Nhấn vào nút nâng cấp màu vàng này.
- ServBay sẽ bắt đầu tải xuống và cài đặt phiên bản Runtime mới nhất. Vui lòng chờ cho đến khi quá trình nâng cấp hoàn tất.
Sau khi nâng cấp xong, ServBay Runtime sẽ chạy phiên bản mới nhất, đem lại khả năng hoạt động ổn định và hiệu suất tối ưu.
Tại sao sau khi dùng ClashX Pro (hoặc công cụ proxy khác) thì không truy cập được trang web nội bộ ServBay?
Nhiều lập trình viên sử dụng ServBay để phát triển và kiểm thử trên máy nội bộ, thường cấu hình các tên miền dạng tùy chỉnh như servbay.demo
, myproject.servbay.demo
,... Những tên miền này thường trỏ về địa chỉ vòng lặp nội bộ 127.0.0.1
.
Khi bạn sử dụng ClashX Pro hoặc một số công cụ VPN/proxy khác (ví dụ Surge, Quantumult X...), các công cụ này có thể can thiệp/bắt DNS, buộc tất cả truy vấn tên miền phải qua máy chủ proxy. Quy trình này sẽ bỏ qua cách hệ điều hành xử lý DNS mặc định và cả tệp hosts nội bộ (mà ServBay dùng để phân giải tên miền), khiến các tên miền phát triển đã cấu hình không trỏ chính xác tới IP nội bộ và bạn không thể truy cập trang web nội bộ trên ServBay.
Để giải quyết, bạn cần cấu hình cho công cụ proxy không áp dụng proxy/bắt DNS với các tên miền phát triển nội bộ đó. Thông thường, thao tác này là thêm tên miền vào danh sách “bỏ qua proxy”, “danh sách trắng” hay “loại trừ”.
Ví dụ với ClashX Pro, làm theo các bước sau:
- Mở ứng dụng ClashX Pro.
- Trên thanh menu macOS, nhấn vào biểu tượng ClashX Pro, chọn Cài đặt nâng cao.
- Trong cửa sổ cài đặt vừa mở, chuyển sang tab Chung.
- Tìm hộp nhập có tên Bỏ qua proxy cho các host và domain sau (hoặc tên tương tự).
- Thêm tên miền phát triển nội bộ của bạn vào danh sách này. Để bao phủ các nhóm tên miền thường dùng ở ServBay, nên thêm
localhost
,127.0.0.1
và các domain cụ thể hay wildcard bạn cấu hình với ServBay. Nếu bạn dùng hậu tố tên miền.servbay.demo
, hãy thêm*.servbay.demo
. Các giá trị thường được phân cách bằng dấu phẩy,
hoặc xuống dòng. Ví dụ:localhost, 127.0.0.1, *.servbay.demo, yourproject.servbay.demo
1 - Lưu cài đặt và tải lại/cập nhật cấu hình tùy theo hướng dẫn của ClashX Pro để các thay đổi có hiệu lực.
(Minh họa: cấu hình danh sách domain và host bỏ qua proxy trong ClashX Pro)
Sau khi cấu hình, ClashX Pro sẽ không can thiệp vào quá trình phân giải các tên miền nội bộ, nhờ đó trang web ServBay sẽ có thể truy cập bình thường. Nếu vẫn không truy cập được, hãy kiểm tra lại phần Website của ServBay đã cấu hình đúng domain chưa, các dịch vụ liên quan như Caddy hoặc Nginx đã chạy bình thường chưa. Bạn cũng có thể thử các lệnh ping yourproject.servbay.demo
hoặc dig yourproject.servbay.demo
trong Terminal để chẩn đoán việc phân giải tên miền.
Tại sao bật dnsmasq của ServBay xong khởi động lại máy không vào mạng được?
Nếu sau khi bật dịch vụ dnsmasq trên ServBay rồi khởi động lại máy, bạn không truy cập được bất kỳ website nào thì có thể hệ thống DNS đã gặp trục trặc. Dịch vụ dnsmasq của ServBay hoạt động trên địa chỉ 127.0.0.1
. Khi bạn đặt DNS hệ thống về 127.0.0.1
, mọi truy vấn DNS sẽ chuyển sang dnsmasq để xử lý.
Tuy nhiên, nếu khi khởi động lại máy mà dịch vụ dnsmasq chưa khởi động thành công, trong khi DNS hệ thống vẫn trỏ tới 127.0.0.1
, toàn bộ truy vấn DNS sẽ thất bại — dẫn tới việc bạn không truy cập được mạng.
Cách khắc phục
Thực hiện kiểm tra và xử lý như sau:
Kiểm tra trạng thái dịch vụ dnsmasq
Trước hết, mở ứng dụng ServBay và kiểm tra xem dịch vụ dnsmasq đã chạy chưa:
- Trên thanh điều hướng bên trái của ServBay, chọn Gói phần mềm > Dịch vụ chung
- Tìm dịch vụ dnsmasq và kiểm tra trạng thái khởi động
- Nếu dịch vụ chưa chạy, hãy thử khởi động lại thủ công
Kiểm tra cài đặt DNS hệ thống
Nếu dịch vụ dnsmasq chưa chạy được hoặc bạn không dùng nó trong lúc này, cần xóa địa chỉ
127.0.0.1
khỏi danh sách DNS hệ thống:- Mở Cài đặt hệ thống (System Settings)
- Vào phần Mạng
- Chọn kết nối hiện tại (Wi-Fi hoặc Ethernet)
- Nhấn Thông tin chi tiết... hoặc Nâng cao...
- Chuyển sang thẻ DNS
- Tìm và xóa dòng
127.0.0.1
khỏi danh sách DNS - Bạn có thể thay bằng DNS công cộng khác, ví dụ:
8.8.8.8
(Google DNS)1.1.1.1
(Cloudflare DNS)223.5.5.5
(DNS Alibaba)
- Nhấn OK hoặc Áp dụng để lưu thay đổi
Bật lại dnsmasq (tùy chọn)
Sau khi xử lý xong vấn đề DNS, nếu cần dùng dnsmasq của ServBay để phân giải tên miền nội bộ:
- Đảm bảo dịch vụ dnsmasq đã chạy bình thường trong ServBay
- Thêm lại địa chỉ
127.0.0.1
vào đầu danh sách DNS hệ thống - Kiểm tra cấu hình dịch vụ đã chuyển tiếp truy vấn domain bên ngoài ra DNS upstream thành công
Với các bước này, bạn đã có thể truy cập mạng lại bình thường. Để tránh sự cố tương tự, nên kiểm tra chắc chắn dịch vụ dnsmasq đã khởi động rồi mới chỉnh DNS hệ thống về 127.0.0.1
.