Apa perbedaan antara *: 80 dan _default_: 80 di Apache2?

8

Saya mencoba memahami perbedaan antara dua istilah berikut:

*:80
_default_:80

dalam file konfigurasi Apache. Dokumentasi di sini tidak jelas bagi saya, dan satu-satunya percakapan milis yang dapat saya temukan di sini juga tidak menjelaskan (dapat dipahami, bagi saya) masalah ini.

Saya memiliki banyak host virtual berbasis nama yang dideklarasikan seperti ini:

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

dan saya ingin memiliki entri yang menyala ketika tidak ada yang cocok, yaitu ketika permintaan masuk tanpa nama host virtual, atau dengan nama host virtual yang belum dideklarasikan. Haruskah saya menggunakan *:80atau _default_:80?

Johannes Ernst
sumber
Pada apache Anda dapat memiliki satu situs web pada satu nomor ip tunggal, atau Anda dapat memiliki model lain, Anda dapat meng-host beberapa situs web masing-masing pada nomor ip yang sama dan domain yang berbeda dikonfigurasi sebagai VirtualHost dan mendengarkan pada port yang sama 80.
Andrew Smith

Jawaban:

9

Saya pikir itu _default_digunakan untuk mendefinisikan vhost default dalam konfigurasi host virtual berbasis IP. Anda menggunakan hosting virtual berbasis nama jadi pernyataan ini dalam dokumentasi

Vhost default tidak pernah melayani permintaan yang dikirim ke alamat / port yang digunakan untuk vhost berbasis nama.

menjadi relevan.

Dalam konfigurasi virtual host berbasis nama, vhost pertama yang ditentukan adalah vhost default dan itu akan dilayani jika tidak ada kecocokan lain yang ditemukan sehingga Anda dapat melakukan sesuatu yang sederhana seperti

<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>

Akan melakukan apa yang Anda inginkan dan melayani segalanya kecuali example.com dan sub.example.com dari default.

user9517
sumber