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.

  • Nouveau sur le serveur Ubuntu, qui se connecte au moniteur et à ce qu'il faut faire [fermé]
  • Ubuntu Network Connections & Condor?
  • Où mysql_config est-il situé sur Ubuntu?
  • Accès SSH non reconnu sur le server?
  • Comment appliquer la mise à jour de security à apache
  • Le server Ubuntu 10.04 sur Hyper-V Server R2 a une installation et une command line faibles
  • PBIS Open AD authentification cesse de fonctionner sur ubuntu avec des erreurs: "l'access user a expiré" et "votre count est verrouillé?"
  • Accédez à la console Web via OpenVPN sur le port
  • Méthode CONNECT de Tinyproxy Refus
  • devise de partitionnement GUI pour Ubuntu
  • L'authentification échoue lors de la connection à l'instance Dockerized de MongoDB
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.