Problème étrange avec la page d'accueil correspondante de Nginx
淡淡烟草味
淡淡烟草味 2017-05-16 17:28:20
0
4
560
upstream backend {
    server 192.168.0.100:80;
    server 192.168.0.100:81;
}
server {
    listen 80;
    server_name www.abc.com abc.com;
    root  /opt/wwwroot/abc.com/;

    location / {
        proxy_pass https://backend;
        proxy_set_header   Host   $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        proxy_hide_header X-Powered-By;
    }

    location = / { 
        index index.html index.htm index.php;
    }
}

Je souhaite que les utilisateurs n'utilisent pas proxy_pass lorsqu'ils visitent www.abc.com/. Au lieu de cela, ils peuvent accéder directement à la page locale /opt/wwwroot/abc.com/index.html, et toutes les autres demandes passeront par proxy_pass
. J'y travaille depuis longtemps et je n'arrive pas à comprendre, c'est un peu bizarre, aidez-moi. .

淡淡烟草味
淡淡烟草味

répondre à tous(4)
刘奇
location = / {
  rewrite / /index.html break;
  root /usr/share/nginx/html;
  index index.html;
}
伊谢尔伦

Cela est dû aux règles de correspondance d'emplacement par défaut de nginx. La correspondance d'emplacement de nginx correspond à l'URI relatif. Les règles de correspondance d'emplacement de nginx sont les suivantes :

  1. Première correspondance "=", qui est ce qu'on appelle la correspondance exacte
  2. Deuxièmement, faites correspondre les expressions régulières, telles que "~" ou "^~"
  3. Deuxièmement, faites correspondre selon l'ordre des fichiers de configuration
  4. Enfin, passez le relais à/pour l'appariement universel

Comprenant les règles de correspondance d'emplacement de nginx, votre situation est facile à expliquer. L'URI relatif de www.abc.com/ est /. Premièrement, il correspond avec précision à d'autres URI relatifs tels que www.abc.com/adf. Il s'agit de /adf, et il est transmis à la correspondance universelle selon vos règles de correspondance géographique

Si vous souhaitez résoudre ce problème, mettez simplement l'index dans la correspondance universelle. Écrire un location = / {} seul n'a aucun effet selon vos besoins

迷茫

Si l'emplacement ci-dessous n'est pas nécessaire, indexez simplement index.html et c'est tout.

给我你的怀抱

Remplacez les deux emplacements. . .

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal