Máy chủ ảo dựa trên tên Apache không có DNS


1

Tôi đã cài đặt máy chủ web Apache trên máy Windows 7 x64 cục bộ. Nó không có tên DNS toàn cầu.

Trong phân phối mặc định, nó có máy chủ ảo được cấu hình trong tệp Apache / conf / Extra / httpd-vhosts.conf.

Nó có một chỉ thị

NameVirtualHost *:80

và nhiều chỉ thị

<VirtualHost *:80>

với nhau

ServerName www.domain.tld

Tên khác nhau được viết trong hoststập tin và tất cả chỉ vào 127.0.0.1.

Thật không may, máy chủ ảo không hoạt động. Chỉ có <VirtualHost>thẻ đầu tiên dường như đang hoạt động. Không có gì nói khi httpd.exebắt đầu và trong error.log.

Làm thế nào để làm cho máy chủ ảo làm việc ở đây?

BIÊN TẬP

Tôi thấy không có lý do tại sao DNS có thể được yêu cầu. GETrequest chứa tên tượng trưng của trang web, vì vậy, máy chủ có tất cả thông tin để phân biệt máy chủ ảo nào được gọi.

CHỈNH SỬA 1

Tôi thấy rằng các máy chủ ảo DO hoạt động (không có DNS!). Đây là một vấn đề với một máy chủ cụ thể.


Lý do DNS thường được sử dụng là vì đó là những gì hầu hết các trình duyệt web sử dụng để đặt tiêu đề Host :. HTTP / 1.1 yêu cầu đúng Máy chủ: tiêu đề để nói chuyện với các trang web được lưu trữ ảo. Điều đó nói rằng, bạn có thể tự do đặt bất cứ thứ gì bạn thích vào một tệp lưu trữ cục bộ.
thích nghi

Câu trả lời:


1

Virtualhost được cấu hình trong tệp sau: Extra / httpd-vhosts.conf

Dưới đây là một ví dụ về cách định cấu hình Máy chủ ảo

<VirtualHost *:80>
ServerAdmin webmaster@website.com
DocumentRoot "/var/sites/website"
<Directory "/var/sites/website">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny   
    Allow from all
</Directory>

ServerName www.website.com
#ServerAlias www1.website.com
ErrorLog "logs/error_log"
CustomLog "logs/access_log" common
</VirtualHost>

Ghi nhớ:

Định cấu hình tên Bình thường và Aliasses trên trình quản lý DNS của bạn và nhớ đưa tệp này vào các chỉ thị chính httpd.conf.

Bao gồm conf / thêm / httpd-vhosts.conf


Xin lỗi, trình quản lý DNS là gì? Tôi không có tên DNS trên máy tính như tôi đã nói.
Suzan Cioc

Sau đó, khởi động lại máy chủ httpd -k khởi động lại
GersonO

Xin lỗi tôi không hiểu phải làm gì. Tất cả những gì bạn nói đã được thực hiện tại máy tính của tôi ngoại trừ DNS.
Suzan Cioc

Thêm các thẻ <virtualhost> như tôi đã đề cập trên tệp httpd / conf / Extra / httpd-vhosts.conf của bạn và làm cho nó phù hợp với tên máy chủ của bạn (Tên giống như bạn định cấu hình trên dns nếu không nó sẽ không hoạt động)
GersonO

Tôi không có DNS, như tôi đã nói. Tôi đang kiểm soát truy cập với hoststập tin. Không thấy lý do tại sao nó không thể làm việc với hosts.
Suzan Cioc
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.