Nachdem ich viele Informationen überprüft habe, verstehe ich immer noch einige Fragen nicht.
Die erste Frage ist, ob meine Standortkonfiguration so ist:
<code>location /doc { alias /home/user/doc; } </code>
Wenn ich dann auf http://localhost/doc/a.html
zugreife, liest Nginx tatsächlich /home/usr/doc/a.html
. Wenn ich auf http://localhost/docs/a.html
oder sogar http://localhost/docsioajsfopajowejfasd
zugreife, welche Datei versucht Nginx tatsächlich zu lesen?
Die zweite Frage ist, ob ich doc als Server konfiguriere und dann den Proxy umkehre.
<code>server { listen 8000; server_name doc; root /home/user/doc; index index.html index.htm index.nginx-debian.html; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; } } </code>
Konfigurieren Sie es so auf dem Hauptserver:
<code>server { listen 80; .... location /doc { proxy_pass http://localhost:8000/; } } </code>
Wenn in dieser Konfiguration auf http://localhost/doc/
zugegriffen wird und die Indexdatei auf eine statische Datei verweist, wird die statische Datei zu 404
und der Browser versucht, http://localhost/js/xxx.js
anstelle von http://localhost/doc/js/xxx.js
abzurufen hinzugefügt, nachdem das Muster >wird/
<code>location /doc/ { proxy_pass http://localhost:8000/; } </code>
korrekt. Das hat mich verwirrt. Welche Auswirkung hat das Hinzufügen von http://localhost/doc/js/xxx.js
am Ende? Warum haben Alias und Proxy_Pass unterschiedliche Ergebnisse? /
Die erste Frage ist, ob meine Standortkonfiguration so ist:
<code>location /doc { alias /home/user/doc; } </code>
zugreife, liest Nginx tatsächlich http://localhost/doc/a.html
. Wenn ich auf /home/usr/doc/a.html
oder sogar http://localhost/docs/a.html
zugreife, welche Datei versucht Nginx tatsächlich zu lesen? http://localhost/docsioajsfopajowejfasd
<code>server { listen 8000; server_name doc; root /home/user/doc; index index.html index.htm index.nginx-debian.html; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; } } </code>
<code>server { listen 80; .... location /doc { proxy_pass http://localhost:8000/; } } </code>
zugegriffen wird und die Indexdatei auf eine statische Datei verweist, wird die statische Datei zu http://localhost/doc/
und der Browser versucht, 404
anstelle von http://localhost/js/xxx.js
abzurufen hinzugefügt, nachdem das Muster >wirdhttp://localhost/doc/js/xxx.js
/
Mit
<code>location /doc/ { proxy_pass http://localhost:8000/; } </code>
am Ende? Warum haben Alias und Proxy_Pass unterschiedliche Ergebnisse? http://localhost/doc/js/xxx.js