搜尋

首頁  >  問答  >  主體

golang - nginx作為反向代理go作為伺服器無法讀取靜態文件

網站html中有以下程式碼:

<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" />

現在問題是瀏覽器無法讀取到這些檔案
使用go作為伺服器,nginx作為反向代理
html檔案放在/home/user/project/目錄下
static等資料夾也放在該目錄下
/home/user/project/是專案根目錄

nginx做了以下設定

location /static/ {
    alias /home/user/project/static/;
}

但是感覺沒有起到作用

請問如何在不修改網頁原本程式碼的前提下讓瀏覽器正確找到指定的檔案?

大家讲道理大家讲道理2752 天前1207

全部回覆(1)我來回復

  • 怪我咯

    怪我咯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;
        }
    }

    回覆
    0
  • 取消回覆