Làm cách nào để thiết lập apache virtualhost hoạt động với ipv6?


10

Tôi đã có máy chủ với 1 địa chỉ ipv4 và với một vài địa chỉ ipv6. Một tên miền được chuyển hướng đến ipv4 Một bản ghi tôi thiết lập apache port.conf như thế này:

Listen ip.v4.address:80
NameVirtualHost ip.v4.address:80

và tập tin virtualhost:

<VirtualHost ip.v4.address:80>
DocumentRoot /var/www/first/
ServerName first.domain
ServerAlias www.first.domain
ErrorLog ...
CustomLog ...
</VirtualHost>

Và mọi thứ hoạt động tốt.

Bây giờ tôi muốn tạo virtualhost mới cho tên miền thứ hai với ip thứ hai. Tôi đã chuyển hướng tên miền thứ hai sang bản ghi ipv6 AAAA, thêm vào port.conf:

Listen [ip.v6.address]:80
NameVirtualHost [ip.v6.address]:80

tạo tập tin virtualhost mới:

<VirtualHost [ip.v6.address]:80>
DocumentRoot /var/www/second/
ServerName second.domain
ServerAlias www.second.domain
ErrorLog ...
CustomLog ...
</VirtualHost>

và khởi động lại Apache. Không có lỗi khi khởi động máy chủ nhưng nó không hoạt động. Khi tôi nhập tên miền thứ hai trong trình duyệt, máy chủ không được tìm thấy. Khi tôi vào [ip.v6.address]trang web xuất hiện.

Có ai giúp đỡ không?


Cảm ơn mọi người đã giúp đỡ. IPv6 là chính xác và tôi cần hai trang web khác nhau. Tôi đã liên hệ với nhà cung cấp tên miền của mình nơi tôi thiết lập hồ sơ AAAA này. Họ nói rằng có thể mất 24 giờ để thiết lập nó và có lẽ đây là vấn đề. Khi tôi thiết lập một bản ghi, hiệu quả gần như ngay lập tức và tôi nghĩ AAAA hoạt động theo cách tương tự.
sheldy

Sẽ thật tuyệt nếu bạn đánh dấu câu trả lời yêu thích của mình như vậy, để những người cố gắng giúp bạn nhận được một số phần thưởng cho việc đó ;-)
Sander Steffann

Câu trả lời:


12

Cấu hình apache của bạn trông có vẻ chính xác, nhưng phức tạp hơn một chút nếu bạn muốn một trang web có thể truy cập được trên cả IPv4 và IPv6 (ngăn xếp kép).

Thay vì

<VirtualHost ip.v4.address:80>
...
</VirtualHost>

<VirtualHost [ip.v6.address]:80>
...
</VirtualHost>

bạn có thể làm

<VirtualHost ip.v4.address:80 [ip.v6.address]:80>
...
</VirtualHost>

Bằng cách đó, các máy chủ ảo duy nhất lắng nghe trên cả hai địa chỉ IP. Nó dễ dàng hơn rất nhiều để duy trì!

Nếu bạn thực sự muốn một trang web khác trên IPv6 thì tất nhiên cấu hình của bạn là chính xác.


2
Hoặc có thể <Virtualhost *: 80>?
Koos van den Hout

2
Điều đó chắc chắn có thể hoạt động tốt, nhưng vì anh ấy đã chỉ định rõ ràng các địa chỉ IP trong ví dụ của mình nên tôi cũng làm như vậy. Nếu bạn không thực sự quan tâm đến địa chỉ IP và chỉ muốn thực hiện mọi thứ bằng tiêu đề Host: thì giải pháp của bạn sẽ dễ dàng hơn nhiều. Xem ra với các trang web SSL / TLS mặc dù. Bạn cần đảm bảo rằng Chỉ định Tên Máy chủ (TLS / SNI) hoạt động cho cơ sở người dùng của bạn.
Sander Steffann

4

Điều này nghe có vẻ như là một lỗi phân giải tên IPv6 chứ không phải là lỗi Apache. Kiểm tra xem tên giải quyết chính xác đến địa chỉ.


3

Tên có phân giải đúng địa chỉ IPv6 không? Đây dường như là vấn đề trong độ phân giải tên miền.

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.