Anomalie #3057
Règle par défaut dans nginx
Description
Aujourd'hui, il n'y a pas de règle par défaut. Dans ce cas, c'est la dernière règle qui s'applique pour tous les domaines non déclarés.
C'est pour ca que pour la redirection http=>https on est obligé de faire ce test supplémentaire :
if ($host = "%%revprox_iter" ) { rewrite ^(.*) https://$host$1 permanent; break; }
Pour éviter ce problème on pourrait mettre une règle par défaut comme ca :
server { listen 80; server_name _ default; access_log /var/log/nginx/access.log; rewrite ^(.*) http://%%revprox_domainname[0]$1 permanent; } server { listen 443; server_name _ default; ssl on; ssl_certificate %%server_cert; ssl_certificate_key %%server_key; access_log /var/log/nginx/revprox.revprox_http.access-ssl.log; rewrite ^(.*) https://%%revprox_domainname[0]$1 permanent; }
Dans cet exemple, je redirige vers le 1er domaine %%revprox_domainname. Ce n'est peut être pas une bonne idée.
On pourrait par exemple rediriger vers un domaine particulier défini dans gen_config, sinon ne rien faire.
Attention, cette règle doit être en tout dernière. Je propose de faire un nouveau template nginx.zz_default.
Associated revisions
Fix install licence from computer form see #3057
better check see #3057
Domaine par défaut dans le reverse proxy (fixes #3057)
- reverseproxy/dicos/25_nginx.xml : ajout de la variable revprox_default
- reverseproxy/tmpl/nginx.default : redirection vers revprox_default en http(s) comme "server" par défaut
Error with child-entities for templates fix #3057
History
#1 Updated by Emmanuel GARETTE over 11 years ago
- Target version set to Mises à jour 2.3.4 RC
#2 Updated by Emmanuel GARETTE over 11 years ago
- Status changed from Nouveau to Résolu
- % Done changed from 0 to 100
Appliqué par commit 758191243255e28550c384f0f5da637e5d1dbbca.
#3 Updated by Fabrice Barconnière over 11 years ago
- Status changed from Résolu to Fermé