Loop senza fine di reindirizzamento con sito AWS ELB e wordpress utilizzando il plugin https di wordpress

Ho configurato un AWS ELB per indicare al mio server di Ubuntu che esegue WordPress 3.2.1. Tutto funzionava ottimamente sul server finché non l'ho messo dietro ad un bilanciatore di carico.

Imposta il bilanciatore di carico per inoltrare la port 80 alla port 80 e la port 443 alla port 80.

  • È ansible (o efficiente) eseguire un backend completo con AWS Lambda (vs say, Elastic Beanstalk)
  • Diritto di licenziamento basato su località di IP su server web nginx dietro Elastic Load Balancer
  • Imansible aggiungere ascoltatore SSL, certificato server non trovato per la chiave
  • IPv6 su Amazon VPC: path predefinito mancante in Ubuntu
  • Domini multipli con SSL sullo stesso IP
  • Come distriggersre la vernice
  • Impostare il mio file host virtuale per controllare le intestazioni dal barbone:

    RewriteEngine On
    RewriteCond% {HTTP: X-Forwarded-Proto}! Https
    RewriteRule! / Status https: //% {SERVER_NAME}% {REQUEST_URI} [L, R]

    Ora, each volta che vado a un https url ho questo messaggio:

    Questa pagina ha un ciclo di reindirizzamento
    La pagina web a https://mywebsite.com/securepage/ ha provocato troppi reindirizzamenti

    Non appena disattivo il plugin https di wordpress
    ( http://wordpress.org/extend/plugins/wordpress-https/ )
    Le pagine funzionano ma sono ora piene di contenuti misti. le pagine che dovrebbero essere https non sono più https.

    Non appena accedo direttamente al server anziché attraverso l'argilla, funziona nuovamente.

    Qualche idea su come potessi get questo per lavorare con un AWS ELB?

  • c'è un standard per incatenare x-forwarded-for headers?
  • Come impostare controlli di salute ELB con più applicazioni in esecuzione su each istanza EC2?
  • Installare SSL su Amazon Elastic Balancer Load con il certificato GoDaddy Wildcard
  • Nginx set_real_ip_from AWS ELB indirizzo di bilanciamento del carico
  • SSL reindirizza sull'istanza EC2 dietro l'equalizzatore di carico di terminazione SSL
  • Perché non posso creare un set di record di risorsa Alias ​​per un'istanza EC2
  • 3 Solutions collect form web for “Loop senza fine di reindirizzamento con sito AWS ELB e wordpress utilizzando il plugin https di wordpress”

    Potrei preoccupare di indovinare senza pubblicare la tua configuration ELB che l'ELB sta reindirizzando il traffico HTTPS (443 / tcp) all'istanza EC2 su HTTP (80 / tcp). Poi si è .htaccess e il plugin stanno cercando di reindirizzarlo indietro a HTTPS perché viene visto su HTTP.

    Vai a dare un'occhiata alla tua console EC2 in Network & Security > Load Balancers e immagino che vedrai che la Port Configuration della Port Configuration dice qualcosa lungo le linee di 443 forwarding to 80 (HTTPS, Certificate: blah)

    Provate ad aggiungere questo a httpd.conf o ad .htaccess

     SetEnvIfNoCase X-FORWARDED-PROTO "^https$" HTTPS 

    Quando si utilizza l'equalizzatore di carico + HTTPS, il tuo webserver non è a conoscenza del fatto che HTTPS viene utilizzato sul lato anteriore, quindi continua a tentare di redirect al sito HTTPS, quando in realtà HTTPS è già in uso.

    Quanto sopra tradurrà l'intestazione che Amazon Load Balancer invia ( X-Forwarded-Proto: https ) in una variabile di ambiente che WordPress e altri script PHP capiscono ( HTTPS=1 )

    Secondo Amazon qui https://d0.awsstatic.com/whitepapers/deploying-wordpress-with-aws-elastic-beanstalk.pdf la correzione è:

     /** Detect if SSL is used. This is required since we are terminating SSL either on CloudFront or on ELB */ if (($_SERVER['HTTP_CLOUDFRONT_FORWARDED_PROTO'] == 'https') OR ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')) {$_SERVER['HTTPS']='on';} 

    Ho ancora finito con il ciclo infinito, quindi ho cambiato la mia configuration di WordPress da:

     define('WP_HOME','http://www.example.com'); define('WP_SITEURL','http://www.example.com'); 

    a:

     define('WP_HOME','https://www.example.com'); define('WP_SITEURL','https://www.example.com'); 

    Ciò obbligherà gli utenti a https, anche se digitano http, e rende più semplice lo sviluppo del sito offline perché si aggiorna solo WP_HOME all'host locale e https non è più il valore predefinito

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.