Heim > Fragen und Antworten > Hauptteil
Der HTML-Code der Website enthält den folgenden Code:
<link rel="stylesheet" href="/static/css/bootstrap.min.css" />
<link rel="stylesheet" href="/static/css/bootstrap-theme.min.css" />
<link rel="stylesheet" href="/static/css/jquery.treegrid.css" />
<link rel="stylesheet" href="/static/css/browseraudit.css" />
Das Problem besteht nun darin, dass der Browser diese Dateien nicht lesen kann.
Go als Server und Nginx als Reverse-Proxy verwenden.
HTML-Dateien werden im Verzeichnis /home/user/project/ abgelegt.
Statische und andere Ordner werden ebenfalls in diesem Verzeichnis abgelegt
/ home/user/project/ ist das Stammverzeichnis des Projekts
nginx hat die folgende Konfiguration
location /static/ {
alias /home/user/project/static/;
}
Aber es fühlt sich nicht so an, als ob es funktioniert
Wie kann ich dafür sorgen, dass der Browser die angegebene Datei korrekt findet, ohne den Originalcode der Webseite zu ändern?
怪我咯2017-05-16 17:18:46
拿一个beego的nginx配置文件给你参考,大概原理是除了指明URL里带有的css,js,fonts,img字符的nginx接管,如果文件不存在都转发到后端请求,相当于GO开启的web服务器
server {
listen 80;
server_name .a.com;
charset utf-8;
access_log /home/a.com.access.log;
location /(css|js|fonts|img)/ {
access_log off;
expires 1d;
root "/path/to/app_a/static";
try_files $uri @backend;
}
location / {
try_files /_not_exists_ @backend;
}
location @backend {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:8080;
}
}