Hướng dẫn liệt kê danh sách domain vhost trên Nginx và Apache
Bạn muốn liệt kê danh sách domain vhost trên dịch vụ Nginx nhưng chưa biết phải làm thế nào? Vậy hãy tham khảo ngay bài hướng dẫn của chúng mình nhé.
vhost là gì?
Vhost hay Virtual Host là một kỹ thuật cho phép nhiều domain chia sẻ chung một IP. Đây là một phần không thể thiếu trong các máy chủ web như Nginx, Apache,... Bạn có thể thêm domain vào máy chủ và cấu hình chúng một cách riêng lẻ. Và với mỗi cấu hình như vậy sẽ được gọi là vhost (virtual host).
Thao tác liệt kê danh sách domain vhost trên Nginx
Vhost hay Virtual Host là một kỹ thuật cho phép nhiều domain chia sẻ chung một IP. Để liệt kê danh sách domain vhost thì bạn cần chú ý chuẩn cấu hình thông tin Virtual Host của các bạn trên hệ thống Nginx Web Server. Giả sử cấu hình vhost của mình hiện là:
-
Thư mục chứa file cấu hình vhost: /etc/nginx/vhosts/
-
File cấu hình có extension: /etc/nginx/vhosts/*.conf
Vậy để liệt kê các tên miền tương ứng keyword “server_name” thì ta có thể dùng lệnh “find” kết hợp như sau:
# find /etc/nginx/vhosts -type f -name "*.conf" -print0 | xargs -0 egrep '^(\s|\t)*server_name' | sed -r 's/(.*server_name\s*|;)//g' | tr -s ' ' '\n' | sort | uniq
Cửa sổ sẽ trả về kết quả toàn bộ domain bạn đang chạy trên server Nginx.
Chỉ đơn giản vậy thôi bạn đã có thể thống kê nhanh chóng danh sách domain vhost đang được cấu hình trên Nginx Web Server rồi.
Thao tác liệt kê danh sách domain vhost trên Apache
Liệt kê danh sách domain vhost trên Apache là thao tác khá đơn giản với option '-S'. Cách này có thể dùng cho cả các tên gọi chương trình Apache trên CentOS và Ubuntu, chẳng hạn httpd/apache2 hay apachectl/apache2ctl.
Sử dụng option '-S', nó sẽ giúp liệt kê thông tin port cũng địa chỉ IP hay tên miền được cấu hình cho từng website mà người dùng đang sử dụng trên hệ thống. Cùng với đó là những thông tin khác như số dòng line trong file cấu hình tương ứng của vhost.
- CentOS/Fedora/RHEL
# httpd -S # apache2 -S
- Ubuntu/Debian
# apache2 -S # apache2ctl -S
Output:
VirtualHost configuration: 1.2.3.4:80 lab1.kdata.vn (/etc/httpd/conf.d/kdata.vn.conf:5) 2.3.4.5:80 lab2.kdata.vn (/etc/httpd/conf.d/kdata.vn.conf:1) 2.3.4.5:443 lab3.kdata.vn (/etc/httpd/conf.d/kdata.vn.conf:38) Syntax OK
Chỉ với các dòng lệnh đơn giản thì bạn đã có thể liệt kê danh sách domain vhost trên Nginx và Apache rồi. Chúc bạn thành công!
Tổng hợp