-1
votes

Nginx www Redirect à la non-www

J'ai ajouté la déclaration de serveur suivante afin que tout www. Les demandes préfixées doivent rediriger vers l'URL non www.

server {
  listen 80 default_server;
  listen [::]:80 default_server;

  # Redirect all HTTP requests to HTTPS with a 301 Moved Permanently response.
  return 301 https://spottingquotes.ca$request_uri;
}


0 commentaires

3 Réponses :


0
votes

Pas la meilleure réponse, mais cela semble poisson. Vous avez 2 en-têtes sur strict-transport-sécurité. Le premier n'inclut pas le sous-domaine, le second fait. Pouvez-vous essayer de supprimer celui-ci sans elle xxx

Cet article a plus d'informations

https://www.nginx.com/blog/http-truct-transport-security-hsts-and-nginx/


1 commentaires

Merci d'avoir souligné cela, il a été ajouté à Nginx et à la demande elle-même. J'ai corrigé ce problème, mais le problème initial persiste.



0
votes

Pourquoi cette déclaration de serveur attrape-t-elle la demande correctement sur la première demande mais pas les demandes suivantes.

Je pense que cela n'a rien à voir avec le serveur, mais un comportement par défaut des navigateurs Webkit. Si vous examinerez la console de développeurs, vous verrez le message suivant (pris de Chrome 71, peut être différent pour Safari ou autre):

Redirection de la navigation www.spottingquotes.ca -> SpottingQuotes.ca Parce que le serveur a présenté un certificat valide pour SpottingQuotes.ca mais pas pour www.spottingquotes.ca. Pour désactiver de telles redirections, lancez Chrome avec le drapeau suivant: Fonctionnalités suivantes = SSLCOMMONMACHACHTHANDLING

Je ne sais pas pourquoi une telle redirection ne se produit pas pendant la deuxième fois, comme Microsoft disait dans leurs articles de KB, "Ce comportement est par conception" :)

dans les navigateurs à base de gecko comme Firefox Aucune redirection se produit et il jette un avertissement de sécurité immédiatement.

Comment puis-je résoudre ce problème?

Je pense que la seule façon de le faire est d'obtenir un certificat pour deux noms de domaine. Il ne devrait y avoir aucun problème pour le faire avec lesencypt. Si vous avez accès à DNS pour ce domaine, vous pouvez même obtenir un certificat wildcard.


0 commentaires

0
votes

Le problème a fini par être que je n'avais pas le certificat SSL pour la configuration de domaine www.spottingQuotes.ca. Je devais configurer un bloc de serveur comme si: xxx

exécutant maintenant le script CURL affiche chaque URL redirige correctement.


0 commentaires