Apache reverse proxy over Vagrant box - mauvaise redirection de phpmyadmin

0

J'exécute une boîte vagabonde (Debian Wheezy) avec un réseau NAT de transfert de port, en y redirigeant le navigateur par l'intermédiaire du proxy inverse apache2.

Reverse proxy vhost:

<VirtualHost *:80>
    ServerName vagrant-test.zk
    ServerAdmin webmaster@localhost

    ProxyPass / http://localhost:8080/

    ErrorLog ${APACHE_LOG_DIR}/vagrant-test.zk.error.log
    CustomLog ${APACHE_LOG_DIR}/vagrant-test.zk.access.log combined
</VirtualHost>

Tout fonctionne bien, lorsque le navigateur est pointé sur http: //vagrant-test.zk, il affiche le site Web, sans modifier l'URL dans la barre d'adresse. Mais lorsque je pointe le navigateur sur http: //vagrant-test.zk/phpmyadmin , il modifie l'URL en http: // localhost: 8080 / phpmyadmin . PhpMyAdmin fonctionne bien, mais je ne peux pas être connecté à 2 boîtes vaginales phpmyadmin en même temps, car il semble y avoir une collision de session, même si différentes boîtes vagabondes écoutent différents ports TCP.

Je pense que le problème se pose dans /etc/phpmyadmin/apache.conf, mais je ne sais pas vraiment où.

# phpMyAdmin default Apache configuration

Alias /phpmyadmin /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin>
    Options FollowSymLinks
    DirectoryIndex index.php

    <IfModule mod_php5.c>
        AddType application/x-httpd-php .php

        php_flag magic_quotes_gpc Off
        php_flag track_vars On
        php_flag register_globals Off
        php_admin_flag allow_url_fopen Off
        php_value include_path .
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/
    </IfModule>

    <IfModule mod_fcgid.c>
        AddHandler fcgid-script .php
        FCGIWrapper /www/scripts/vagrant/php-fcgi .php
        Options +ExecCGI
    </IfModule>

</Directory>

# Authorize for setup
<Directory /usr/share/phpmyadmin/setup>
    <IfModule mod_authn_file.c>
    AuthType Basic
    AuthName "phpMyAdmin Setup"
    AuthUserFile /etc/phpmyadmin/htpasswd.setup
    </IfModule>
    Require valid-user
</Directory>

# Disallow web access to directories that don't need it
<Directory /usr/share/phpmyadmin/libraries>
    Order Deny,Allow
    Deny from All
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
    Order Deny,Allow
    Deny from All
</Directory>

Un indice?

g4b0
la source
1
Dans l'hôte virtuel, ajoutez ProxyPassReverse / localhost: 8080
Romeo Ninov
Voulez-vous que je le fasse comme réponse à la question?
Romeo Ninov
Si vous le souhaitez, je serai ravi de le voter.
G4B0

Réponses:

1

G4b0,

Vous devez ajouter une directive de proxy inverse dans l'hôte virtuel:

<VirtualHost *:80>
    ServerName vagrant-test.zk
    ServerAdmin webmaster@localhost

    ProxyPass / http://localhost:8080/
    ProxyPassReverse / http://localhost:8080
    ErrorLog ${APACHE_LOG_DIR}/vagrant-test.zk.error.log
    CustomLog ${APACHE_LOG_DIR}/vagrant-test.zk.access.log combined
</VirtualHost>
Romeo Ninov
la source