Ubuntu 14.04 のphpMyAdmin(4.0.10deb1)をAWS ELBのSSL環境で使った時に
Login後のURLが
https://hoge:80/phpmyadmin/index.php?token=なんちゃら〜
となってしまってエラーになります。
ポート部分の”:80″を手動で取ってリロードすればつながるのですが、直す方法がわかったので備忘録として記事にします。
(※Nginx 1.10.3 での結果です)
参考URL
https://sourceforge.net/p/phpmyadmin/bugs/4621/
phpMyAdminのインストールフォルダ(/usr/share/phpmyadmin)のlibraries/Config.class.phpを以下のように編集します。
元ファイル1298行目〜
if (! empty($url['port'])
&& (($url['scheme'] == 'http' && $url['port'] != 80)
|| ($url['scheme'] == 'https' && $url['port'] != 443))
) {
$pma_absolute_uri .= ':' . $url['port'];
}
編集後
if (!empty($url['port'])) {
if (PMA_getenv('HTTP_X_FORWARDED_PROTO') && strtolower(PMA_getenv('HTTP_X_FORWARDED_PROTO')) == 'https') {
$url['port'] = 443;
}
if (($url['scheme'] == 'http' && $url['port'] != 80) || ($url['scheme'] == 'https' && $url['port'] != 443)) {
$pma_absolute_uri .= ':' . $url['port'];
}
}