source

WordPress + CloudFront Flexible SSL이 리다이렉트 루프(https)로 끝남

bestscript 2023. 3. 11. 09:04

WordPress + CloudFront Flexible SSL이 리다이렉트 루프(https)로 끝남

CloudFront Flexible SSL을 사용하여 설정할 때 https를 통해 관리자에게 액세스하는 데 문제가 있습니다.

admin은 http 경유로 접속하면 정상적으로 동작하지만, 시큐어 https로 변경하자마자 리다이렉트루프가 됩니다

에 다음 행을 추가합니다.wp-config.phpadmin에서 SSL을 강제 실행합니다.

define('FORCE_SSL_ADMIN', true);

이는 CloudFlare의 Flexible SSL이 리버스 프록시로 동작하며 WordPress 설치에 접속하기 때문입니다.httpWordpress는 당신이 접속하고 있다고 생각합니다.http및 리다이렉트 합니다.https자원입니다.브라우저는httpsCloudFlare 및 CloudFlare의 리소스가 리소스를 다시 요청합니다.httpWordPress 서버로부터 전송되어 다른 리다이렉트가 발생합니다.

다행히도 해결책이 있다.CloudFlare는 브라우저에서 CloudFlare 서버로 연결에 사용되는 프로토콜인 http 헤더 X-FORWARDED-PROTO를 전송합니다.WordPress에 이 정보를 사용하여 요청이 수행되고 있음에도 불구하고http브라우저 링크가 종료되었습니다.https.

에서wp-config.phpfile 다음 행을 추가합니다.

if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') $_SERVER['HTTPS']='on';

또한 위 행이 다음 행 앞에 와야 합니다.

require_once(ABSPATH . 'wp-settings.php');

수정 후 리다이렉트루프가 정지하고 admin을 다시 사용할 수 있게 됩니다.

이는 CloudFlare뿐만 아니라 모든 역방향 프록시 서버에 적용됩니다.

제 경우 CloudFront 오리진을 잘못 구성했기 때문에 이 문제가 발생합니다.

cloudfront-> origin -> Origin Protocol Policy -> Match Viewer 

이 설정 후 내 웹사이트는 정상적으로 작동합니다.

저의 경우 DefaultRootObject가 문제의 또 다른 원인입니다(바보스럽게 들립니다).

CloudFront와 WordPress에서 이 오류가 발생하여 Too Many Redirects 악몽이 발생하였습니다.누군가 나와 같은 바보 같은 실수를 저지르고 있기 때문에 글을 올립니다.

건배.

언급URL : https://stackoverflow.com/questions/27193575/wordpress-cloudfront-flexible-ssl-ends-up-in-redirect-loop-https