全域性靜態檔案(1)

不同的應用可能都會用到一些同樣的靜態檔案,比如 favicon 圖示和自定義的 HTML 檔案。

我們可以把這些靜態檔案放在全域性靜態檔案中,在應用中引用即可。

下面我們先上傳一個 favicon 圖示到全域性靜態檔案中:

在這個頁面中,會列出已經存在的全域性靜態檔案。 我們點選 上傳檔案 按鈕,來新上傳一個。

這個頁面很簡單,上傳一個 favicon 圖示,並填寫下靜態檔案的標籤名。

檔案有兩種型別,一種是類似 favicon 圖示這種的靜態檔案,另外一種是自定義 HTML 程式碼,可以用於應用的自定義錯誤頁面中。

需要注意的是,這裡限制了上傳檔案的大小,不能超過 32 KB,否則會上傳失敗。

我們選擇上傳一個 favicon 圖示,標籤名是 openresty 。

上傳完圖示,點選右下角的儲存按鈕後,一個全域性靜態檔案就上傳成功了。

在全域性靜態檔案的頁面,就可以看到剛才新增的檔案資訊:

然後再去新建一個應用,來看下如何引用這個靜態檔案:

我們需要新增一個頁面規則,並在內容中選擇靜態檔案:

我們選擇剛才上傳的那個 favicon 圖示,然後選擇儲存:

這樣在一個應用中,就引用了一個全域性靜態檔案了。

還要走一個釋出的流程,才能讓它在邊緣節點上生效,具體的釋出流程這裡不再贅述。

下面我們來驗證下:

$ curl -i -H 'host: rewrite-rule-test.com' 52.43.45.19/404.html
HTTP/1.1 404 Not Found
Server: openresty+
Date: Mon, 21 Jan 2019 16:00:43 GMT
Content-Type: text/html
Content-Length: 166
Connection: keep-alive

<html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr><center>openresty</center>
</body>
</html>

從返回值中,確實看到了 favicon 圖示的返回。

如果這時候我們嘗試刪除掉這個全域性靜態檔案,會怎樣呢?

我們回到全域性靜態檔案頁面:

然後刪除剛才上傳的靜態檔案:

會出現上面的錯誤提示,因為有應用正在使用這個靜態檔案,所以不能被刪除。