phpMyAdminをAWS ELBのSSL環境で使う


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'];
	}
}

コメントを残す

メールアドレスが公開されることはありません。