====== haproxy ====== ===== haproxy with several ssl subdomains ===== Using haproxy with certificates from startssl requires you to create a ''certificate.pem'' file that consists, in order of : - your certificate file - your private key It can be generated easily with this command : cat my.certificate.crt my.private.key > my.certificate.pem You should then put all your pem files in a single directory and load them all at once using the following ''Binds'' on the ''Frontend'' : :5443 ssl crt /path/to/your/ssl/directory ciphers AESGCM+AES128:AES128:AESGCM+AES256:AES256:RSA+RC4+SHA:!RSA+AES:!CAMELLIA:!aECDH:!3DES:!DSS:!PSK:!SRP:!aNULL no-sslv3 Further help can be found on the [[http://cbonte.github.io/haproxy-dconv/configuration-1.5.html|official documentation]] ===== haproxy and wordpress ===== Wordpress needs to know that haproxy terminates the SSL connexion, therefore, you need to add the following ''Option'' to your ''https'' ''Frontend'' : http-request set-header X-Forwarded-Proto https if { ssl_fc } This will set a header that you can read in wordpress. You might need to edit your ''wp-config.php'' file to add the following line (needs to be before the include of ''wp-settings'') // If the proxy is doing ssl, consider it : if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') $_SERVER['HTTPS']='on';