web-dev-qa-db-ja.com

NginxでPHPmyAdminを実行すると、ニスに渡されたポート8080がうまく機能しません!

Nginx、Varnish、PHP-fpmをインストールしました。次に、PHPmyAdminをインストールし、そのための仮想ホストを作成しました。

server{
    listen 8080;
    server_name phpmyadmin.Domain.com;
    access_log /var/log/phpmyadmin.access_log;
    error_log /var/log/phpmyadmin.error_log;

    location / {
      root /usr/share/phpmyadmin;
      index index.php;
    }

    location ~ \.php$ {
        fastcgi_pass    127.0.0.1:9000;
        fastcgi_index   index.php;
        fastcgi_param   SCRIPT_FILENAME /usr/share/phpmyadmin$fastcgi_script_name;
        include         /opt/nginx/conf/fastcgi_params;
    }

}

phpmyadmin.Domain.comに行くと、期待どおりに機能します。しかし、ユーザー名/パスワードを送信すると、phpmyadmin.Domain.com:8080/index.php?...にリダイレクトされ、ページが見つからないという応答もあります。

何ができますか?

5
amrnt

私自身も同じ問題に遭遇しました。解決策は、config.inc.phpを変更し、phpMyAdminインストールへの絶対URLを指定することです。 phpMyAdmin Documentation に従って、以下を追加します。

$cfg['PmaAbsoluteUri'] = 'http://your.domain.com/path/to/phpmyadmin/';

この場合、nginx構成にport_in_redirect off;を追加する必要はありませんが、追加しても悪影響はないようです(他のシナリオでも役立ちます)。

6
cyberx86

Nginx構成ファイルのphpロケーションブロックの任意の場所に次の行を追加するだけですafterinclude fastcgi_paramsパート:

fastcgi_param   SERVER_PORT 80;

これにより、phpは、nginxがリッスンしているポートにリダイレクトしようとしないで、ワニスのようにポート80にとどまるように指示します。

2
damusnet

おそらくphpmyadminphpファイル/設定で標準ポート80を探しているものがあります。かなり一般的なのは、一部のスクリプトとワニス、つまりvbulletinと4imagesスクリプトの同様の問題であるようです http://vbtechsupport.com/290/http://vbtechsupport.com/303/ -これを修正するためにphpmyadminを調べる場所がわかることを願っています。

0
p4guru
0