보안 방화벽과 함께 Silex를 사용하는 앱이 있습니다. https://app.com/web에 내 앱을로드 할 때 이미 인증되지 않았습니다. https://app.com:80/web/user/login_checkSilex가 위치 80에 포트 80을 리디렉션합니다.
비 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에 액세스 할 수 있습니다 알고, 다음과 같습니다, 그것의 나는/사용자/로그인 페이지로 리디렉션합니다.
나는 심포니 내게 도움이되지 않습니다
$_SERVER['HTTPS'] = 'on';
$_SERVER['SERVER_PORT'] = 443;
을 설정하면 URL하지만 _SERVER의 SERVER_PORT에 정의 된 하나의 포트를 사용하지 않습니다 읽어 보시기 바랍니다. 그 헤더에 반환이 리디렉션
초기 요청,
요청 URL : https://app.com/web/ 요청 방법 : 상태 코드를 얻을 : (302) 찾을 수
위치 : https://app.com:80/web/user/login
아무도 방법을 알고 있나요 위치에 포트 80을 추가하는 silex의 리디렉션을 중지 하시겠습니까?
편집 : 이것은 Redhat의 OpenShift 클라우드 인프라에서 실행 중임을 언급해야합니다.
이론적으로
않습'요청 :: setTrustedProxies (배열 ($ 요청 -> 서버 -> GET ('REMOTE_ADDR'))) : 나는 오토로더 전에 부트 스트랩 파일의 상단에이를 넣어 당신? –
@Jack이 설정처럼 보이지 않습니다. Request :: setTrustedProxies (array ($ _ SERVER [ 'REMOTE_ADDR']))); – shapeshifter