Điểm:0

Có cách nào để xác định Máy chủ ảo Apache 2 với Tên máy chủ một phần không

lá cờ cn

Tôi có một công cụ tạo các khối cấu hình Apache 2. Tôi muốn những gì nó tạo ra độc lập với bất kỳ Tên máy chủ thực tế nào, nhưng không cần thực sự chạy trên/phân tích cú pháp cấu hình Apache của máy đích.

Nói cách khác, những gì tôi cần là một cái gì đó như thế này:

<VirtualHost *>
   ServerName foobar    // <-- no top level domain
   ...
</VirtualHost>

Có vẻ như từ việc đọc các tài liệu như trường Tên máy chủ phải luôn là tên miền đủ điều kiện và do đó, không thể ghi một khối vhost mà không biết FQDN của máy chủ đích. Điều đó có đúng không hay có một số cách giải quyết?

Điểm:1
lá cờ in

Đúng Tên máy chủ phải là nhận dạng máy chủ thực, nhưng cũng có thể là địa chỉ IP. Bí danh máy chủ mặt khác có thể chứa ký tự đại diện. Tài liệu đề cập đến điều này.

Nhưng nó cũng nói rằng nó không bắt buộc

Nếu không có Tên máy chủ nào được chỉ định, thì máy chủ sẽ cố gắng suy ra tên máy chủ hiển thị của máy khách bằng cách hỏi hệ điều hành về tên máy chủ hệ thống trước tiên và nếu điều đó không thành công, hãy thực hiện tra cứu ngược lại địa chỉ IP có trên hệ thống.

Điểm:0
lá cờ ar
bob

Không phải là một Tên máy chủ cũng không phải là Bí danh máy chủ là những chỉ thị bắt buộc trong một khối VirtualHost.

Bạn chỉ có thể bỏ qua chúng.

Hướng dẫn giải thích khi bạn làm điều đó:

Nếu không Tên máy chủ được chỉ định, máy chủ sẽ cố gắng suy ra tên máy chủ hiển thị của máy khách bằng cách trước tiên hỏi hệ điều hành về tên máy chủ của hệ thống và nếu điều đó không thành công, hãy thực hiện tra cứu ngược lại địa chỉ IP có trên hệ thống.

đó có thể chính xác là những gì bạn cần.

Ngoài ra, trong thực tế những chỉ thị đó cũng sẽ chấp nhận hầu hết mọi chuỗi ...
Một từ duy nhất, như máy chủ cục bộ hoặc kiểm traví dụ sẽ hoạt động, cũng như những thứ trông giống FQDN hơn nhưng không phải là tên DNS hoạt động thực tế, chẳng hạn như there.is.no.tld.named.serverfault. Sử dụng thứ gì đó như vậy có thể dẫn đến cảnh báo khởi động trong nhật ký lỗi (bạn có thể tránh điều này bằng cách thêm chuỗi đó vào /etc/hosts) và có thể dẫn đến tình huống Apache httd không thể phân biệt khối VirtualHost của bạn với bất kỳ khối nào khác hiện có và cài đặt của bạn sẽ không có hiệu lực. https://httpd.Apache.org/docs/2.4/vhosts/details.html

lá cờ cn
Cảm ơn, nhưng đó không hoàn toàn là những gì tôi đang theo đuổi. Nó giống như `ServerName foo.${HOSTNAME}` sẽ hoạt động, nếu var HOSTNAME env thực sự được đặt cho máy chủ Apache. Thật không may, có vẻ như các hệ thống systemd hiện đại cung cấp các môi trường rất sạch sẽ mà không có giá trị này và không có cách nào để biến ý tưởng về tên máy chủ của Apache thành một biến. Chỉ bỏ qua các lệnh sẽ không hoạt động vì mục tiêu ở đây là có nhiều đoạn cấu hình _độc lập_ với tên máy chủ của chính máy. Và lý tưởng nhất là hoạt động với cấu hình Apache tiêu chuẩn.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.