Sự khác biệt giữa *: 80 và _default_: 80 trong Apache2 là gì?


8

Tôi đang cố gắng hiểu sự khác biệt giữa hai thuật ngữ sau:

*:80
_default_:80

trong tệp cấu hình Apache. Tài liệu ở đây không rõ ràng đối với tôi và cuộc trò chuyện danh sách gửi thư duy nhất mà tôi có thể tìm thấy ở đây cũng không làm sáng tỏ vấn đề nào (có thể hiểu được, đối với tôi) về vấn đề này.

Tôi có một loạt các máy chủ ảo dựa trên tên được khai báo như thế này:

<VirtualHost *:80>
    ServerName example.com
    ...

và tôi muốn có một mục kích hoạt khi không có mục nào khớp, tức là khi yêu cầu đến mà không có tên máy chủ ảo hoặc với tên máy chủ ảo chưa được khai báo. Tôi nên sử dụng *:80hay _default_:80?


Trên apache, bạn có thể có một trang web trên một số ip hoặc bạn có thể có một mô hình khác, bạn có thể lưu trữ nhiều trang web trên mỗi số trên cùng một số ip và tên miền khác nhau được định cấu hình như Virtualhost và nghe trên cùng một cổng 80.
Andrew Smith

Câu trả lời:


9

Tôi nghĩ rằng nó _default_được sử dụng để xác định một vhost mặc định trong cấu hình máy chủ ảo dựa trên IP. Bạn đang sử dụng lưu trữ ảo dựa trên tên để tuyên bố này trong tài liệu

Một vhost mặc định không bao giờ phục vụ một yêu cầu được gửi đến một địa chỉ / cổng được sử dụng cho các vhost dựa trên tên.

trở nên có liên quan.

Trong cấu hình máy chủ ảo dựa trên tên, vhost đầu tiên được xác định là vhost mặc định và nó sẽ được phục vụ nếu không tìm thấy kết quả khớp nào khác để bạn có thể làm một việc đơn giản như

<VirtualHost *:80>
    ServerName default
    DocumentRoot /var/www/default
</VirtualHost>

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/example.com
</VirtualHost>

<VirtualHost *:80>
    ServerName sub.example.com
    DocumentRoot /var/www/sub.example.com
</VirtualHost>

Sẽ làm những gì bạn muốn và phục vụ mọi thứ trừ example.com và sub.example.com từ mặc định.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.