2013-01-10 37 views
7

Có một số câu hỏi về SO về cấu hình tên miền phụ nginx nhưng không tìm thấy cấu hình nào giống chính xác của tôi.cấu hình tên miền nginx trên máy chủ ảo

Giả sử tôi có máy chủ ảo some.example.com từ quản trị viên cấp cao hơn example.com tại tổ chức của chúng tôi. Tôi muốn sử dụng some.example.com làm trang web chính của mình và sử dụng foo.some.example.combar.some.example.com để sử dụng phụ trợ (proxy, v.v.). Tôi cố gắng cấu hình đơn giản này và đặt nó dưới sites-enabled nhưng đã không làm việc:

server { 
    listen 80; 
    server_name some.example.com; 
    root /home/me/public_html/some; 
    index index.html index.htm; 
} 

server { 
    listen 80; 
    server_name foo.some.example.com; 
    root /home/me/public_html/foo; 
    index index.html index.htm; 
} 

server { 
    listen 80; 
    server_name bar.some.example.com; 
    root /home/me/public_html/bar; 
    index index.html index.htm; 
} 

Trong bối cảnh này some.example.com hoạt động tốt, nhưng đối với sự trở lại hai trình duyệt khác mà could not find foo.some.example.com. Tôi đang chạy nó trên một máy chủ ubuntu.

Có vấn đề gì với cấu hình này? Hoặc là điều tôi nên nói với quản trị viên cấp cao hơn (làm cho foo.some.example.combar.some.example.com để được đăng ký)?

Trả lời

11

Cấu hình miền phụ bắt đầu bằng mục nhập trong máy chủ DNS của miền gốc và tra cứu sẽ giải quyết tên miền phụ thành địa chỉ IP của máy chủ web. Các máy chủ web lần lượt đại biểu các yêu cầu dựa trên cấu hình của nó cho các tên miền phụ.

Nếu bạn không có thiết lập DNS trong miền phụ của mình, thì quản trị viên tại example.com cần thiết lập bí danh CNAME. Bí danh chỉ tên miền phụ cho cùng một máy chủ web, lưu trữ trang web cho tên miền chính. Tên chính tắc (CNAMES) được thêm vào cho mỗi tên miền phụ. Khi miền phụ được phân giải thành địa chỉ IP của máy chủ web, máy chủ web có thể định tuyến yêu cầu đến một trang web khác.

+0

Cảm ơn bạn đã trả lời. Vì vậy, tôi có hai lựa chọn: 1) xây dựng một DNS tại 'some.example.com' bằng 2 của riêng tôi) yêu cầu admin tại' example.com' để thêm 'CNAME' cho hai tên miền phụ được đề cập? Nếu tôi đi với thứ hai, tôi sẽ phải yêu cầu quản trị viên tại 'example.com' mỗi khi tôi muốn thêm một tên miền phụ? – clwen

+1

Có - đó là chính xác. Thay cho một DNS riêng biệt, tất cả các yêu cầu DNS sẽ đi đến các máy chủ DNS tại example.com. –

+0

Nếu tôi chọn tự thiết lập máy chủ DNS, tôi có thể trỏ tất cả ba miền trong ví dụ vào cùng một IP và để nginx tìm ra "máy chủ" (cha hoặc foo hoặc thanh) nào để sử dụng? – clwen

0

CNAME chỉ là một cách để nhận lưu lượng truy cập web đến địa chỉ IP của bạn. Yêu cầu sẽ vẫn bao gồm tên gốc trong tiêu đề Host :.

Các vấn đề liên quan