我有一個 Vuejs 應用程式的 S3 存盤桶,其內容顯示在鏈接 s3 存盤桶內容中
為了提供該內容,我在 Cloudfront 中進行了分發。為了使該分發安全,我創建了一個 OAI 以關聯到 Cloudfront 分發和 S3 存盤桶。** 分發源是桶而不是桶域。因此,當我請求 Cloudfront 域時,會顯示登錄頁面,單擊登錄按鈕后會啟動 OIDC 流程,并且當請求回呼路由器時,會顯示一個頁面,其中顯示訪問被拒絕,因為鏈接顯示訪問被拒絕。為了解決這個問題,我在 CLoudfront 中創建了一個函式來檢查 url 并呈現 index.html,但這不起作用。我怎樣才能解決這個問題?請記住,我沒有包含 index.html 的子目錄。我有一個 index.html,它加載了在 vue 行程中構建的 js 腳本
uj5u.com熱心網友回復:
您可能需要考慮在您的 S3 中添加一個網頁重定向規則,如果邏輯路由(虛擬,屬于 vue 路由器而不是物理檔案)被命中,它將為 index.html 檔案提供服務,這樣您的 CF 就不會提供服務404s。這是一個鏈接,它解釋了有關S3 重定向規則的更多資訊。
您可以嘗試在 S3 存盤桶的重定向規則中添加此代碼:
<RoutingRules>
<RoutingRule>
<Condition>
<HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals>
</Condition>
<Redirect>
<HostName>domain.com</HostName>
<ReplaceKeyWith>index.html</ReplaceKeyWith>
</Redirect>
</RoutingRule>
</RoutingRules>
uj5u.com熱心網友回復:
我解決了在 Cloudfront 發行版中注冊錯誤頁面的問題,在我的情況下是 403 錯誤代碼,所以當 403 啟動時,Cloudfront 重定向到 index.html,并且從那里 vue 知道做什么。順便說一句,我在這里找到了解決方案
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/422520.html
標籤:
上一篇:Django靜態檔案的單獨位置
