Dinleme - Apache HTTP Sunucusu
Apache’nin belli adresleri ve portları dinlemek üzere yapılandırılması.
Apache başlatıldığında yerel makinedeki bazı adres ve portları kendine bağlar ve gelecek istekleri bekler. Öntanımlı olarak makine üzerindeki tüm adresleri dinler. Bununla birlikte, belli portları veya sadece seçilmiş bazı adresleri ya da her ikisini de dinlemesi için bunun belirtilmesi gerekebilir. Bu çoğunlukla, Apache’nin farklı IP adreslerine, konak isimlerine ve portlarına nasıl yanıt vereceğinin belirlendiği sanal konak özelliği ile birlikte yürür.
Listen yönergesi sunucuya gelen istekleri sadece belli portlardan veya belli adres ve port birleşimlerinden kabul etmesini söyler. Listen yönergesinde sadece port numarası belirtilmişse sunucu tüm arabirimlerin belirtilen portunu dinleyecektir. Portla birlikte bir IP adresi de belirtilmişse sunucu belirtilen portu ve arabirimi dinleyecektir. Çok sayıda adres ve portu dinlemek için çok sayıda Listen yönergesi kullanılabilir. Sunucu böyle bir durumda belirtilen bütün adres ve portlardan gelen isteklere yanıt verecektir.
IPv6’yı gerçekleyen platformların sayısı giderek artmaktadır. Bu platformların çoğunda APR, Apache’nin IPv6 soketleri ayırmasını mümkün kılarak IPv6’yı desteklemekte ve IPv6 üzerinden gönderilmiş istekleri elde etmektedir.
Apache yöneticilerinin kafasını karıştırıran tek şey IPv6 soketlerin hem IPv4 hem de IPv6 bağlantılarını kabul edip etmeyeceğidir. IPv4 bağlantılarını kabul eden IPv6 soketleri IPv4 eşlemli IPv6 adresleri kullanırlar. Bu çoğu sistemde öntanımlı olarak böyleyken, FreeBSD, NetBSD ve OpenBSD’de sistem geneline uygulanan kurallar gereğince öntanımlı olarak buna izin verilmez; bu sistemlerde özel bir configure parametresi ile Apache’nin davranışı değiştirilebilir.
Apache’nin IPv4 ve IPv6 adresleri, IPv4 eşlemli IPv6 adreslerin kullanımını gerektiren en az sayıda soketle kabul etmesini istiyorsanız, configure betiğine --enable-v4-mapped seçeneğini belirtiniz ve Listen yönergesini örnekteki gibi kullanınız:
--enable-v4-mapped seçeneği ile derlenen Apache tarafından oluşturulan öntanımlı yapılandırma dosyasındaki Listen yönergeleri bu biçimi kullanacaktır. --enable-v4-mapped seçeneği, FreeBSD, NetBSD ve OpenBSD hariç tüm platformlarda öntanımlıdır. Muhtemelen siz de Apache’nin böyle derlenmesini isterdiniz.
Platformunuzun ve APR’nin neyi desteklediğine bakmaksızın Apache’nin sadece IPv4 adresleri kabul etmesini istiyorsanız, tüm Listen yönergelerinde örnekteki gibi IPv4 adresleri belirtiniz:
Apache’nin IPv4 ve IPv6 adresleri ayrı soketlerden kabul etmesini (yani IPv4 eşlemli IPv6 adreslerin iptalini) istiyorsanız configure betiğine --disable-v4-mapped seçeneğini belirtiniz ve bu amaca yönelik Listen yönergelerini örnekteki gibi belirtiniz:
--disable-v4-mapped seçeneği ile derlenen Apache tarafından oluşturulan öntanımlı yapılandırma dosyasındaki Listen yönergeleri bu biçimi kullanacaktır. --disable-v4-mapped seçeneği, FreeBSD, NetBSD ve OpenBSD’de öntanımlıdır.