nginx Version scheint: nginx/1.10.3 (Ubuntu) gebaut mit OpenSSL 1.0.2g 1. März 2016 TLS SNI Unterstützung über installierte aktiviert apt-get html5 mit boilerplate config project als BasisNginx root Richtlinie innerhalb Standort nicht zu funktionieren
Ich habe versucht, eine einfache Aufgabe zu tun, und es funktioniert nicht so, wie ich dachte, es würde. Ich habe eine Verzeichnisstruktur wie folgt:
/var/www$ tree
.
├── docroot
│ └── files
│ ├── booger.txt
│ └── favicon.ico
└── static
├── h5bp
│ ├── humans.txt
│ ├── js
│ │ ├── main.js
│ │ ├── plugins.js
│ │ └── vendor
│ │ ├── jquery-1.12.0.min.js
│ │ └── modernizr-2.8.3.min.js
│ ├── tile.png
│ └── tile-wide.png
Ich dachte, der beste Ansatz einen Server Wurzel der docroot/Dateien (die reale docroot) und dann neu definiert die Wurzel für die statischen Dateien haben war. Hier ist meine Standardkonfiguration in/etc/nginx/sites-available:
# Choose between www and non-www, listen on the *wrong* one and redirect to
# the right one -- http://wiki.nginx.org/Pitfalls#Server_Name
#
server {
listen [::]:80 default_server;
listen 80 default_server;
# listen on all hosts
server_name _;
# and redirect to the https host (declared below)
# avoiding http://www -> https://www -> https:// chain.
return 301 https://www.ubercode.io$request_uri;
}
server {
# listen [::]:443 ssl http2 accept_filter=dataready; # for FreeBSD
# listen 443 ssl http2 accept_filter=dataready; # for FreeBSD
listen [::]:443 ssl http2 deferred default_server; # for Linux
listen 443 ssl http2 deferred default_server; # for Linux
# listen [::]:443 ssl http2;
# listen 443 ssl http2;
# The host name to respond to
server_name www.ubercode.io;
include h5bp/directive-only/ssl.conf;
# root /var/www/docroot/files;
root /var/www;
index index.html index.htm index.nginx-debian.html;
# return forbidden for any php, asp, jsp, our .dt templates, or myadmin requests
# location ~ (\.dt$|myadmin|\.php$|\.jsp$|\.asmx$|\.asp$) {
# deny all;
# }
# location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
# expires 1d;
# }
# location ~* \.(pdf)$ {
# expires 5d;
# }
# static
location /static/ {
# root /var/www;
autoindex on;
# expires 1d;
}
location/{
alias /var/www/docroot/files;
autoindex on;
}
#Specify a charset
charset utf-8;
# Custom 404 page
error_page 404 /404.html;
# Include the basic h5bp config set
include h5bp/basic.conf;
}
server {
listen [::]:443 ssl http2;
listen 443 ssl http2;
# listen on the wrong host
server_name _;
include h5bp/directive-only/ssl.conf;
# and redirect to the non-www host (declared below)
return 301 https://www.ubercode.io$request_uri;
}
Wenn ich es verwenden, wie es gezeigt wird, wird die statischen Dateien arbeiten, aber die Alias an der Wurzel scheint nicht zu funktionieren, wie sie einen Wurf 404. Wenn ich den Alias unter dem Pfad/location und dem Wurzelstamm des/var/www-Servers kommentiere und die anderen Zeilen auskommentiere, gibt der Server docroot/files-Assets, aber keine statischen Dateien zurück. Es scheint nur so, als ob die übergeordnete Wurzel in einem Standortblock nicht funktioniert. Kann mir jemand erklären, was los ist und mir vielleicht eine Anleitung geben, wie ich es beheben kann?
So scheint es, dass das, was ich oben gesagt habe, nicht genau wahr ist. Aus irgendeinem Grund, wenn ich die URL für booger.txt in meinem Browser setze, bekomme ich Ergebnisse, aber favicon.ico nicht. Ich habe auch mit einer JPEG- und HTML-Datei getestet, aber keine Freude. Aber aus irgendeinem Grund funktioniert die Datei booger.txt. Irgendwelche Ideen? –