2017-08-21 6 views
0

J'essaie de rediriger http vers https et je cette config:Elastic Beanstalk nginx rediriger la mise ne fonctionne pas

files: 
    "/etc/nginx/conf.d/robots.conf": 
     mode: "000544" 
     owner: root 
     group: root 
     content: | 
      server { 
       listen 80; 

       server_name example.com; 

       location =/health { 
        return 200 "health-check"; 
       } 

       location/{ 
        if ($http_x_forwarded_proto != "https") { 
         return 301 https://$host$request_uri; 
        } 
       } 
      } 
      server { 
       listen 80 default_server; 

       server_name www.example.com; 

       location =/health { 
        return 200 "health-check"; 
       } 

       location/{ 
        if ($http_x_forwarded_proto != "https") { 
         return 301 https://$host$request_uri; 
        } 
       } 
      } 

Mais quand je vais à http://example.com ou http://www.example.com il n'y a pas ... redirect Je J'ai essayé plusieurs réglages mais il semble que ça ne marche jamais complètement.

Répondre

0

La meilleure façon de le faire est défini votre config comme ci-dessous

server { 
     listen   80; 
     server_name my.example.com; 
     return   301 https://$server_name$request_uri; 
} 

server { 
     listen   443 ssl; 
     server_name my.example.com; 
     # add Strict-Transport-Security to prevent man in the middle attacks 
     add_header Strict-Transport-Security "max-age=31536000"; 

     [....] 
} 
+0

Essayé et cela ne fonctionne pas. On dirait que la configuration n'est pas implémentée ... – Ferus

+1

Avez-vous rechargé la config avec 'service nginx reload'? –

+0

Non, je suis juste en train de valider et de déployer en utilisant 'eb deploy', où devrais-je mettre' service nginx reload'? Ou voulez-vous dire que je devrais ssh dans l'instance et le faire? – Ferus