セキュリティ ファイアウォールを備えた Silex を使用するアプリがあります。https://app.com/webでアプリをロードし、まだ認証されていない場合、https://app.com:80/web/user/login_check にリダイレクトされます
SSL 以外のポートで SSL 接続を確立しようとすると、SSL エラーが発生します。
私のファイアウォール設定は次のようになります。
$app['security.firewalls'] = array(
'login' => array(
'pattern' => '^/user/login$',
),
'admin' => array(
'pattern' => '^.*$',
'form' => array('login_path' => '/user/login', 'check_path' => '/user/login_check'),
'logout' => array('logout_path' => '/user/logout'),
'users' => array(
// raw password is demo
'test' => array('ROLE_ADMIN', 'qldD7MO0Ol7e2LijC1qdNxQJpkIdHQLPjHUM0rN/N6AjEHqGzZFsYPh94R/AeFrM8aEt9Y6L$
),
),
);
ポートを追加せずに https://app.com/web/index.phpにアクセスできることはわかっているので、それは私の Web サーバーではなく、/user/login ページにリダイレクトされたときです。
symfony は URL でポートを使用していませんが、_SERVER SERVER_PORT で定義されているポートを使用していると読みました。
$_SERVER['HTTPS'] = 'on';
$_SERVER['SERVER_PORT'] = 443;
役に立ちません。
リダイレクトする最初のリクエストは、ヘッダーでこれを返します。
リクエストURL:https ://app.com/web/ リクエスト方法:GET ステータスコード:302 Found
場所: https://app.com:80/web/user/login
場所にポート 80 を追加する silex のリダイレクトを停止する方法を知っている人はいますか?
編集: これは Redhat の OpenShift クラウド インフラストラクチャで実行されていることに言及する必要がありました。