Cấu hình cơ bản 2 virutal server listen port *:80
server {
listen 80;
server_name example.net www.example.net;
...
}server {
listen 80;
server_name example.com www.example.com;
...
}Nginx xử lý một request dựa vào trường header "Host" xác định server để chuyển đến. Nếu không đúng bất kỳ một server name hay request không chứa trường header của server name, thì Nginx route request đến default server. Cấu hình ở trên, default server là server đầu tiên. Ta có thể set tham số default_server như sau:
server {
listen 80 default_server;
server_name example.net www.example.net;
...
}Note: default server là thuộc tính của listen port và không phải server name
Làm thế nào ngăn chặn xử lý request không định nghĩa server name
Nếu các request không có trường header "Host" thì không cho phép, server sẽ drop các request.
server {
listen 80;
server_name "";
return 444;
}server_name ""; sẽ đúng tất cả các request mà không có trường header "Host" và trả code 444 và close kết nối.
Kết hợp name-based và IP-based virtual servers Cấu hình hơi phức tạp
server {
listen 192.168.1.1:80 ;
server_name example.net www.example.net;
...
}
server {
listen 192.168.1.1:80;
server_name example.com www.example.com;
...
}Đầu tiên, nginx xử lý địa chỉ IP và port trong server block. Sau đó kiểm tra trường header "Host" đúng với server_name nào.







No comments:
Post a Comment