golang – Nginx als Reverse-Proxy, da der Server keine statischen Dateien lesen kann
大家讲道理
大家讲道理 2017-05-16 17:16:46
0
1
1223

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?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

Antworte allen(1)
刘奇

拿一个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;
    }
}
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage