ELB配下のEC2サーバでアプリを導入すると不具合が出る場合があります。
環境
- phpMyAdminバージョン
phpMyAdmin-4.8.2-all-languages.zip
不具合
https://example.com/phpMyAdmin/
でアクセスしてログインをすると
https://example.com/phpMyAdmin/:80/index.php?token=ea(略)
上記のようにリダイレクトされてしまい接続が出来ない不具合が出てきます、手動でURLを変更してあげれば良いだけですがお客さんにそんなことは求められないのでハックして解決します。
ハックとは必要としていることを作りだす素早い仕事のことだ。満足できる結果が素早く得られればそれはハックだ。一方、文句を付けられない完璧な仕事だったとしてもそれが素早くおこなわれていなければ、すごいとは思われてもあまりハックとは思われないだろう。ここで重要なのは素早くやることであり、完璧にやることじゃないということだ*1。つまりハッカーと認められるには、素早く問題を片付けることができないといけないんだ。
phpMyAdminをハックしよう
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# vi /phpMyAdmin/libraries/Config.class.php 1300行目付近 // Add port, if it not the default one if (! empty($url['port']) && (($url['scheme'] == 'http' && $url['port'] != 80) || ($url['scheme'] == 'https' && $url['port'] != 443)) ) { $pma_absolute_uri .= ':' . $url['port']; } ↓変更 // Add port, if it not the default one if (! empty($url['port']) && (($url['scheme'] == 'http' && $url['port'] != 80) || ($url['scheme'] == 'https' && $url['port'] != 443)) ) { //$pma_absolute_uri .= ':' . $url['port']; ←無効化 } |
こいつが悪さ?しているのでシンプルに無効化してあげるだけ、これでELB配下特有の不具合は起こらないはずです。バージョンによって修正箇所は違いますが、同じ要領で対応出来ます。
お疲れ様です。