NGINX redirect HTTPS fonctionne partiellement

J'essaie de redéfinir tout mon trafic sur https. J'utilise AWS, passager + NGINX.

Jusqu'à présent, avec mon smartphone (Android), dernière version de Chrome: http://server_name.com redirige vers https …

à la maison sur mon ordinateur Chrome version dernière reddirect alsowell. Mais sur d'autres ordinateurs, il ne redire pas.

Bien sûr, partout où https://server_name.com fonctionne lorsque vous accédez à un access direct.

voici ma conf:

#user adrien; events { worker_connections 768; # multi_accept on; } http { passenger_root /home/ubuntu/.rvm/gems/ruby-2.3.1/gems/passenger-5.0.30; passenger_ruby /home/ubuntu/.rvm/gems/ruby-2.3.1/wrappers/ruby; server_tokens off; add_header X-Frame-Options SAMEORIGIN; add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection "1; mode=block"; add_header Content-Security-Policy "default-src 'self'; script-src 'self' https://bam.nr-data.net https://js-agent.newrelic.com 'unsafe-inline' 'unsafe-eval' https://ssl.google-analytics.com https://assets.zendesk.com https://connect.facebook.net; img-src 'self' https://secure.gravatar.com https://ssl.google-analytics.com https://s-static.ak.facebook.com https://assets.zendesk.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com https://assets.zendesk.com; font-src 'self' https://themes.googleusercontent.com; frame-src https://assets.zendesk.com https://www.facebook.com https://s-static.ak.facebook.com https://tautt.zendesk.com; object-src 'none'"; ssl_session_cache shared:ssl_session_cache:10m; server { listn 80 default_server; server_name xeralis.eu www.xeralis.eu; return 301 https://$host$request_uri; } server { listn 443; server_name xeralis.eu www.xeralis.eu; ssl on; ssl_session_timeout 5m; ssl_certificatee /etc/ssl/nginx.crt; ssl_certificatee_key /etc/ssl/nginx.key; ssl_protocols TLSv1.2 TLSv1.1 TLSv1; ssl_prefer_server_ciphers on; ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH'; ssl_dhparam /etc/ssl/dhparams.pem; resolver 8.8.8.8; # Rails add its own headers with force_ssl: true # add_header Ssortingct-Transport-Security "max-age=31536000; includeSubDomains" always; passenger_enabled on; passenger_friendly_error_pages on; rails_env development; root /home/ubuntu/www/rails/mercipublic/public; location /cable { passenger_app_group_name gorails_websocket; passenger_force_max_concurrent_requests_per_process 0; } location ~* ^/assets/ { gzip_static on; expires max; add_header Cache-Control public; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } keepalive_timeout 10; } } 

Cette conf me donne une marque de 'A' sur les laboratoires SSL. Que puis-je faire pour que mon site fonctionne à partir de partout, http toujours reddirection vers HTTPS

** Modifier les en-têtes en réponse à http **

Manifestation:
Avertissement: le réglage de la méthode HTTP personnalisée sur HEAD avec la request -X / – peut ne pas fonctionner comme Attention: la façon dont vous voulez.
Envisagez d'utiliser -I / – à la place.
curl: (7) Impossible de se connecter au port xeralis.eu 80: connection refusée

avec -I:
Impossible de se connecter au port 80 de xeralis.eu: connection refusée

** Modifier les en-têtes en réponse à https **

Avertissement: le réglage de la méthode HTTP personnalisée sur HEAD avec -X / – request peut ne pas
travaillez l'avertissement: vous voulez bien. Envisagez d'utiliser -I / – à la place.
HTTP / 1.1 200
OK Date: mar. 28 févr. 2017 22:36:59 GMT
Content-Type: text / html; charset = utf-8
Longueur du contenu: 11339 login: keep-alive
Set-Cookie: AWSALB = 1AbTZpK / eslWt + 5VDBK1wqKygcY30U73T36e8987HvJVTR2iE4jqD2W51m + pwEvvzd + Y9wazTTG1rrh2T0BNsNE + TDB9mD5Bl1EADEFWL9hxlHQsqOuQ6 / p6qXjy; Expire = Tue, 07 Mar 2017 22:36:59 GMT; Chemin =
Statut: 200 OK
Cache-Control: max-age = 0, private, must-revalidate
ETag: W / "4b9c4360372ca37d2116059c2018043b"
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode = bloc
X-Content-Type-Options: nosniff
X-Runtime: 0.081279
X-Demande-Id: 288d1d28-b6ae-420F-9c87-9e016873c900 Set-Cookie: _mercipublic_session = aEdtcW9NRFlQSytSL1VFTmFoVlNHd0RCUXk1ZzFCaFo3ak5RUGQ0SmRocC9MVmxmd0VnNWxZem5sUDlySTUxVDlDVGFIZTRBbVFwRGwvOXpSNmhReTh6Z2d4MkpVQWhVL2Z6bGJ3UWt3U3BqRXNsMjZSUnNXOW55OEtOTk9GUzdzbERnSWJXR3c2Y2F1dUF2RmRNWlhBPT0tLWUyYWl5aWlsT3lUS2s2YXkya0JJNVE9PQ% 3D% 3D – e896f790c978b429d6644055f2e8c827d07657c2; path = /; HttpOnly
X-Powered-By: Phusion Passenger 5.0.30
Serveur: nginx + Phusion Passenger 5.0.30
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode = bloc
Content-Security-Policy: default-src 'self'; script-src 'self' https://bam.nr-data.net https://js-agent.newrelic.com 'unsafe-inline' 'unsafe-eval' https://ssl.google-analytics.com https : //assets.zendesk.com https://connect.facebook.net ; img-src 'self' https://secure.gravatar.com https://ssl.google-analytics.com https://s-static.ak.facebook.com https://assets.zendesk.com ; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com https://assets.zendesk.com ; font-src 'self' https://themes.googleusercontent.com ; frame-src https://assets.zendesk.com https://www.facebook.com https://s-static.ak.facebook.com https://tautt.zendesk.com ; object-src 'aucun'

** EDIT 2 demi-problème résolu ** Le problème provenait du ELB d'AWS. Je n'avais qu'un seul auditeur sur 443. Alors, bien sûr, cela bloquait les 80 …

Maintenant, la dernière chose que je dois résoudre, c'est la raison pour laquelle la redirection ne fonctionne pas tant que HTTP et HTTPS fonctionnent

One Solution collect form web for “NGINX redirect HTTPS fonctionne partiellement”

Essayez ce bloc alternatif, qui supprime les codes hôte et hard de l'URL à laquelle vous souhaitez redirect. La raison pour laquelle je vous suggère d'essayer ceci est la définition de $ host

dans cet ordre de priorité: nom d'hôte de la ligne de request ou nom d'hôte du champ d'en-tête de requête "Host" ou le nom du server correspondant à une requête

 server { listn 80 default_server; server_name xeralis.eu www.xeralis.eu; return 301 https://www.xeralis.eu$request_uri; } 

Si cela ne fonctionne pas, modifiez votre question pour inclure des démonstrations de ce qui se passe, à la fois lors de son succès et lorsqu'il échoue. "curl -X HEAD -i (URL)" le fait habituellement. Affichez également les inputs du journal d'access correspondant.

  • Tomcat 7 sur Ubuntu 12.04 problèmes de démarrage
  • tâche bloquée pendant plus de 120 secondes
  • Installation de PostgreSQL 8.2 avec PostgreSQL 8.4 sur Ubuntu 10.10
  • Panne de courant pendant RAID1 build
  • Comment redémarrer après avoir effectué des chnages à hosts.allow
  • SSSD Authentication to Windows Domain sans @ domain.com partout dans le monde
  • L'user www-data ne peut pas écrire dans / tmp folder
  • udev rules in ubuntu
  • Mod_rails démarrage lent
  • Ubuntu: réinitialisation du pilote réseau à eth0?
  • les sudoers pour exécuter des commands comme un autre user
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.