# http proxy



## Dy0nisus (27. Jan. 2008)

Ahoi,

habe gerade mal Falko's Tutorial ausporbiert:

http://www.howtoforge.com/apache_reverse_proxy_ispconfig

Hab auch brav alles gemacht und wollte nun, dass

http://login.domain.de

auf

https://www.domain.de:81/

leider bekomme ich immer die shared ip page ...

Jemand ne Idee, was ich da flasch mache?!

Grüße
Dennis


----------



## Till (27. Jan. 2008)

Hast Du den neuen vhost Bereich in der apache Konfiguration wirklich vor den shared IP Bereich gesetzt. Sieh bitte nochmal alles durch, wenn Du mehr als eine sharedIP Definition findest, kannst Du die duplikate löschen und den neuen vhost vor den allerersten Eintrag schreiben.


----------



## Dy0nisus (28. Jan. 2008)

Guten Morgen Till,

ich habe mir alles noch mal angesehen. es sieht alles richtig aus. sharedip - Einträge gibt es nur in der apache2.conf, hinter dem neuen vhost für den Proxy (es ist ein Document - Eintrag) und in der Vhosts_ISPConfig.conf ein Vhost an erster Stelle.

Ich poste hier einfach mal alle Aenderungen, vielleicht bin ja einfach zu bloed?!

*apache2.conf:

*

```
NameVirtualHost *
<VirtualHost *>
        ServerName login.domain.de
        DocumentRoot /var/www/
        ProxyRequests Off

        <Proxy *>
          Order deny,allow
          Allow from all
        </Proxy>

        ProxyPass / https://www.domain.de:81/
        ProxyPassReverse / https://www.domain.de:81/
        SSLProxyEngine on
       AllowCONNECT 81
</VirtualHost>


# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/

<Directory /var/www/sharedip>
    Options +Includes -Indexes
    AllowOverride None
    AllowOverride Indexes AuthConfig Limit FileInfo
    Order allow,deny
    Allow from all
    <Files ~ "^\.ht">
    Deny from all
    </Files>
</Directory>
```
*config.inc.php:*


```
//if(isset($_SERVER['HTTP_HOST'])){
//  $go_info["server"]["server_url"] = 'https://'.$_SERVER['HTTP_HOST'];
//} else {
  $go_info["server"]["server_url"] = "http://login.domain.de";
//}
```
*Vhosts_ISPConfig.conf:*


```
NameVirtualHost 85.214.35.115:80
<VirtualHost 85.214.35.115:80>
  ServerName localhost
  ServerAdmin root@localhost
  DocumentRoot /var/www/sharedip
</VirtualHost>
```
Module sind auch alle geladen.

Ich hoffe das hilft dir eventuell weiter, meinen Fehler zu entdecken!


----------



## Dy0nisus (29. Jan. 2008)

Hallo noch mal,

ich habe nun so ziemlich alles ausprobiert, was mir einfällt ... nichts hilft. Kann es vielleicht daran liegen, dass ich nicht 100%ig die Konstellation wie im HowTo habe? Nämlich:

Im HowTo beschreibt falko, dass http://ispconfig.example.com per Proxy auf https://ispconfig.example.com:81 zugreift. Der Host ist also jeweils gleich.

Eben das ist bei mir ja nicht der fall

http://login.domain.de
https://www.domain.de:81

Könnte das die Probleme verursachen?


----------



## Till (30. Jan. 2008)

> Könnte das die Probleme verursachen?


das sollte eigentlich kein Problem sein.

Kommentier bitte mal testweise den sharedip vhost aus (aber nicht die namevirtualhost direktive).


----------



## Dy0nisus (30. Jan. 2008)

Hab ich gemacht. Bekomme immer noch die sharedip - Seite. Steht sonst
in irgendeiner anderen Datei noch eine Definition dafür?


----------



## Till (30. Jan. 2008)

Zitat von Dy0nisus:


> Steht sonst
> in irgendeiner anderen Datei noch eine Definition dafür?


Ja, scheinbar schon. Sieh bitte nochmal alle apache config Dateein durch, damit werden wir dann wohl auch das Problem lösen.


----------



## Dy0nisus (30. Jan. 2008)

Ich habe ein grep -n sharedip auf die dateien

1. apache2.conf
2. httpd.conf
3. vhosts/Vhosts_ispconfig.conf

gemacht.

Resultate: 

1. der auskommentierte Eintrag
2. kein Fund
3. der vhost mit dem Document-root /var/www/sharedip

Ansonsten gibt es ja keine config - Dateien von apache, richtig?
sites-enabled ist auch auskommentiert.

Ich glaube das



> Kommentier bitte mal testweise den sharedip vhost aus (aber nicht die namevirtualhost direktive).


hatte ich eben flasch verstanden. Hatte die Document - Direktive in der apache2.conf auskommentiert. Nun habe ich in vhosts/Vhosts_ispconfig.conf den vhost auskommentiert und bekomme beim aufruf von login.domain.de die seite von www.domain.de.

Demzufolge ignoriert er den in der apache2.conf eingetragenen vhost für den Proxy?!


----------



## Till (30. Jan. 2008)

Versuch mal:

NameVirtualHost *
<VirtualHost *>

 durch:

NameVirtualHost 85.214.35.115:80
<VirtualHost 85.214.35.115:80>

Bei deinem proxy host zu ersetzen.


----------



## Dy0nisus (31. Jan. 2008)

das hat zur folge, dass der prox funktioniert. allerdings auch für alle nicht existenten domains. also quasi ein ersatz für die sharedip geschichte ist .. das  wollte ich allerdings auch nicht ^^

ich steig da so langsam gar nicht mehr durch


----------



## Dy0nisus (1. Feb. 2008)

und eine domain login.domain.de muß ich ja nicht erst anlegen oder? Also im DNSManager.


----------



## Dy0nisus (1. Feb. 2008)

Ok kleines update:

Ich habe nun mal in ispconfig ein neues web angelegt: login.domain.de

Ich habe im Apache Direktiven Feld die Definitionen für den Proxy reingeschrieben. 

Nun gehts 

Danke für Deine Mühen, Till.

Nun fänd ich es noch intressant, ob man das auch ssl verschlüsselt machen kann ... denn die Verbindung Browser - Apache ist ja nun unverschlüsselt. was ich meine ist:

https://login.domain.de und dann via proxy auf den ispconfig apache?

Ja geht, habe auf der IP keine weiteren SSL - Webs ... einfach im ISPConfig Manager ssl aktiviert, ein Zertifikat erzeug ... wunderbar ... ich bin begeistert!


----------



## Andre (4. Apr. 2008)

Hallo DyOnisus

ich hänge gerade am gleichen Ort, hast du noch die lösung für die vhosts/Vhosts_ispconfig.conf; der erste oberste Teil ist

```
NameVirtualHost 212.174.83.34:80
<VirtualHost 212.174.83.34:80>
  ServerName localhost
  ServerAdmin [EMAIL="root@localhost"]root@localhost[/EMAIL]
  DocumentRoot /var/www/sharedip
</VirtualHost>
```
ich habe eine neue Web angelegt inklusive der DNS.
Nun habe ich aber Wilkommen neue web -ist klar warum.

Ich kann nur mit der standart ip:81 auf den server zugreifen, habe aber dort Eigenschaften und Dienste nicht mehr.

Gruss


----------



## Dy0nisus (5. Apr. 2008)

Hallo Andre,

ich habe das ganze so gelöst:

1. Neues web angelegt, mit host=login und domain=domain.de
2. Im Apache Direktiven Feld des neuen Webs folgendes eingefügt:


```
ProxyRequests Off
        <Proxy *>
          Order deny,allow
         Allow from all
       </Proxy>
        ProxyPass / [URL]https://www.domain.de:81/[/URL]
        ProxyPassReverse / [URL]https://www.domain.de:81/[/URL]
        SSLProxyEngine on
        AllowCONNECT 81
```
Nun solltest du über http://login.domain.de auf das ISPConfig-Panel zugreifen können. Wenn du das ganze über https machen willst, kannst du einfach im Web-Manager ein SSL-Zertifikat erzeugen.

Wenn du noch Hilfe brauchst, gib gerne BEscheid!

Grüße
Dennis


----------



## Andre (6. Apr. 2008)

Hi Dennis

Hab vielen Dank, das läuft, super!

Gruss Andre


----------



## Andre (6. Apr. 2008)

Hallo

Mir ist aufgefallen, dass wenn ich eine Veränderung egal ob ein neue Datenbank in einem anderen Reseller mache.

ISPConfig überschreibt mir immer die VirtualHost in /etc/apache2/vhosts/Vhosts_ispconfig.conf .

Wie kann ich dies übergehen.

Gruss


----------



## Till (7. Apr. 2008)

Das ist normal und korrekt so. Die Dateo Vhost_ispconfig.conf darf nicht manuell geändert werden, deshalb musst Du die Änderungen ja auch in das apache Direktiven Feld der Webseite einfügen.


----------



## Andre (8. Apr. 2008)

Danke Till

habe noch soeben das apache Direktiven Feld feld kennengelernt, ich habe noch nicht damit gearbeitet und bei der Angabe von Dennis übersehen, jetzt läuft es.

Da ist noch die eine sache mit der PHPMYADMIN, ich kann die rechte nur verändern der einzelnen z.B. web1db1 wenn ich die Proxy wieder rausnehme und über das interne 81 gehe.
Ebenso kann ich auf EXIT oder NEU ANMELDEN Klicken in der MySQL Datenbank da kommt nur neu laden.

Ich habe schon bei MySQL ein Hägchen gemacht ohne erfolg!

Was mache ich hier falsch!!!

Andre


----------



## Till (9. Apr. 2008)

Schau mal in der config Datei von phpmyadmin nach, vielleicht nimmt er dort einen falschen Pfad oder eine falsche URL.


----------



## Andre (10. Apr. 2008)

Hallo Till

ich hab die /phpmyadmin/config.inc.php mal durchstöpert, der hier

include("../../lib/config.inc.php");
$cfg['PmaAbsoluteUri'] = $go_info["server"]["server_url"].'/phpmyadmin/';

und

$cfg['Servers'][$i]['host']          = 'localhost'; // MySQL hostname or IP address
$cfg['Servers'][$i]['port']          = '';          // MySQL port - leave blank for default port

diesen da hab ich gefunden.
In der PHPMYADMIN im Broser Kopf steht die die der Servernahme also:
www.meineseite.com:81 / localhost | phpmyadmin 2.11.4

ich habe hier schon den hostname oder die IP sowie den port 80 aber mit port80 kommt "server nicht gefunden".
Ich hatte bei der umstellung des http Proxy schon ein paar web einträge und das system seither nicht neu gestartet.

Vielleicht hast du mir noch ein Tip
Gruss


----------



## Till (10. Apr. 2008)

Trag bitte mal:

$cfg['PmaAbsoluteUri'] = 'http://sub.deinedomain.de';

ein und versuche es dann nochmal. Bitte alle Browserfenster schließen und ggf. den ispconfig_server neu starten, ich glaube phpmyadmin schreibt das auch irgendow in ein session cookie.


----------

