Hallo zusammen,
ich habe auf einem Debian 3.1 stable den Apache 2.2.3 aus dem Source kompiliert. Als Konfiguration dient die mitgelieferte Standardkonfiguration.
Den Mainserver in der "http.conf" habe ich auf "ServerName http://www.example.com" stehen lassen. Alle weiteren Domains werden über VHosts (Name-Based) administriert.
Nun habe ich folgendes Problem:
Meine IP-Adresse war wohl bis vor Kurzem noch einem anderen Kunden zugewiesen. Dessen Domains zeigen alle auf meine IP-Adresse. Mein Apache lenkt nun jede Domain die auf meine IP-Adresse zeigt, jedoch nicht über "ServerName" oder "ServerAlias" in irgendeinem VHost abgefangen wird, auf den ersten VHost den er in der Konfiguration findet um.
Das sorgt natürlich für reichlich unnnötige Last und vor allem für unerwünschte Verwechslungen.
Wie bekomme ich es denn nun hin, daß der Apache erst garnicht versucht diese Domains zu behandeln, bzw. diese nicht alle auf den gleichen VHost legt.
Mit "ServerName" und "ServerAlias" habe ich in der "httpd.conf" bereits rumgespielt, allerdings ohne den gewünschten Erfolg. Aktuell nutze ich den Workaround, daß mein erster VHost auf eine leeres Verzeichnis als "DocumentRoot" nutzt und zusätzlich über "Order" ein "Deny from All" gesetzt ist. Ist aber nicht wirklich das Wahre.
Vorab vielen Dank für Eure Hilfe!
Beste Grüße
und ein schönes Wochenende,
Markus
Apache - VHosts - Domain wird auf ersten VHost geleitet
Re: Apache - VHosts - Domain wird auf ersten VHost geleitet
Normalerweise nimmt der Apache alle Sachen die er nicht kennt auf den Defaulthost, ob man das ändern kann.. ka. 2 Tage sollte der DNS durchgelaufen sein, ansonsten nutz das doch und servier den Domains Werbung *g*
Re: Apache - VHosts - Domain wird auf ersten VHost geleitet
Normalerweise sollte der Apache das machen. Macht er aber eben nicht, sondern er nimmt den ersten VHost, den er findet.
Wann die Nameserver Ihre Einträge aktualisieren ist eigentlich sehr egal, sofern der Eigner die IP-Adresse nicht ändert. Und davon ist momentan leider nicht auszugehen.
Dennoch vielen Dank für Deine Hilfe!
Gruß,
Markus
Wann die Nameserver Ihre Einträge aktualisieren ist eigentlich sehr egal, sofern der Eigner die IP-Adresse nicht ändert. Und davon ist momentan leider nicht auszugehen.
Dennoch vielen Dank für Deine Hilfe!
Gruß,
Markus
Re: Apache - VHosts - Domain wird auf ersten VHost geleitet
Code: Select all
Normalerweise sollte der Apache das machen. Macht er aber eben nicht, sondern er nimmt den ersten VHost, den er findet. Ich würde da keine Werbung drauf tun, sondern ein Redirect mit Hinweis, damit die Leute dort hin kommen, wo sie wollen.
Viel spaß. Mußt alles, was mit apache zusammen arbeitet patchen(2.0!=2.2). Sonst kracht die Kiste *g*.Debian 3.1 stable den Apache 2.2.3
Re: Apache - VHosts - Domain wird auf ersten VHost geleitet
Code: Select all
Redirect permanent / http://www.example.comDenoch vielen Dank.
@Lucki
Probleme mit dem Apache gibt es bislang überhaupt nicht. Alles was laufen soll, läuft auch. Ohne "krachen" ;-) Nur mod_fastcgi macht ein wenig Probleme.
Re: Apache - VHosts - Domain wird auf ersten VHost geleitet
mod_fastcgi ist das geringste: schau dir das diff in testing an und hau den Abschnitt mit den Konstanten dazu(10 Stück oder so - fällt auf).
das müsste der entscheidende Patch sein:
das müsste der entscheidende Patch sein:
Code: Select all
+@DPATCH@
+diff -ruN mod_fastcgi-2.4.2/fcgi.h mod_fastcgi-2.4.2-ap22/fcgi.h
+--- mod_fastcgi-2.4.2/fcgi.h 2003-02-04 00:07:37.000000000 +0100
++++ mod_fastcgi-2.4.2-ap22/fcgi.h 2005-12-07 21:05:55.000000000 +0100
+@@ -73,6 +73,36 @@
+ #define ap_reset_timeout(a)
+ #define ap_unblock_alarms()
+
++/* starting with apache 2.2 the backward-compatibility defines for
++ * 1.3 APIs are not available anymore. Define them ourselves here.
++ */
++#ifndef ap_copy_table
++
++#define ap_copy_table apr_table_copy
++#define ap_cpystrn apr_cpystrn
++#define ap_destroy_pool apr_pool_destroy
++#define ap_isspace apr_isspace
++#define ap_make_array apr_array_make
++#define ap_make_table apr_table_make
++#define ap_null_cleanup apr_pool_cleanup_null
++#define ap_palloc apr_palloc
++#define ap_pcalloc apr_pcalloc
++#define ap_psprintf apr_psprintf
++#define ap_pstrcat apr_pstrcat
++#define ap_pstrdup apr_pstrdup
++#define ap_pstrndup apr_pstrndup
++#define ap_push_array apr_array_push
++#define ap_register_cleanup apr_pool_cleanup_register
++#define ap_snprintf apr_snprintf
++#define ap_table_add apr_table_add
++#define ap_table_do apr_table_do
++#define ap_table_get apr_table_get
++#define ap_table_set apr_table_set
++#define ap_table_setn apr_table_setn
++#define ap_table_unset apr_table_unset
++
++#endif /* defined(ap_copy_table) */
++
+ #if (defined(HAVE_WRITEV) && !HAVE_WRITEV && !defined(NO_WRITEV)) || defined WIN32
+ #define NO_WRITEV
+ #endifRe: Apache - VHosts - Domain wird auf ersten VHost geleitet
Probier ich heute noch aus. Vielen Dank! :-)
Gruß,
Markus
Gruß,
Markus