2017-03-22 1 views
2

configuré à l'option envFORCE_HTTPS = true comme suggéré dans le documentation:Comment forcer https sur la fonderie de cloud avec Swisscom StaticFile Buildpack (FORCE_HTTPS)

Mon manifext.yml

env: 
    APP_ENV: production 
    FORCE_HTTPS: true 

Cependant, quand j'ouvre la site Web avec http, je ne suis pas redirigé vers https.

J'utilise un fichier sur mesure nginx.conf

Le réglage a été appliqué

+0

Avez-vous un fichier 'nginx.conf' personnalisé ou utilisez-vous celui par défaut? La variable d'environnement a-t-elle été définie (peut-elle être vérifiée avec 'cf env ')? Quelle version du build build staticfile utilisez-vous? – mastertinner

+0

Vous pouvez vérifier que l'option a été appliquée si vous accédez au conteneur en utilisant 'cf ssh ' et inspectez le fichier 'nginx.conf' généré. Trouvez la config dans '/ app/nginx/conf/nginx.conf' dans le conteneur. Si 'FORCE_HTTPS' est appliqué avec succès, vous devriez voir une ligne contenant' if ($ http_x_forwarded_proto! = "Https") {'selon le code source de buildpack: https://github.com/cloudfoundry/staticfile-buildpack/blob/ 206728f929a69ed12570ee755b72e4cd5457745d/conf/nginx.conf # L50 –

+0

J'ai testé le scénario avec l'application de démonstration sur le nuage d'applications de Swisscom. (Il suffit de publier une nouvelle application d'hébergement statique sans fournir de fichier zip via le portail). La redirection http a fonctionné pour moi. Vous pouvez également vérifier la configuration via la console: 'cf env {app-name}' – delixfe

Répondre

1

J'ai ajouté la ligne suivante à mon habitude « /nginx.conf » fichier.

location/{ 
     <% if ENV["FORCE_HTTPS"] %> 
      if ($http_x_forwarded_proto != "https") { 
       return 301 https://$host$request_uri; 
      } 
     <% end %> 
     ... 
    }