什麼是“.well-known”文件夾?
如果在我們的日誌文件中發現新的錯誤消息並想知道這個
.well_known
文件夾代表什麼。哪個應用程序客戶端需要訪問這樣的文件夾,哪個應用程序會在其中創建文件?
這是我的一個域的 PHP 錯誤日誌的一些條目。(我刪除了日期、IP 和目標域)。
0000/00/00 00:00:00 [error] 851#0: *88611 access forbidden by rule, client: xxx.xxx.xxx.xxx, server: example.com, request: "GET /.well-known/apple-app-site-association HTTP/1.1", host: "exampleA.com" 0000/00/00 00:00:00 [error] 850#0: *89749 access forbidden by rule, client: xxx.xxx.xxx.xxx, server: example.com, request: "GET /.well-known/assetlinks.json HTTP/1.1", host: "exampleA.com" 0000/00/00 00:00:00 [error] 850#0: *89767 access forbidden by rule, client: xxx.xxx.xxx.xxx, server: example.com, request: "GET /.well-known/assetlinks.json HTTP/1.1", host: "exampleB.com" 0000/00/00 00:00:00 [error] 853#0: *90120 access forbidden by rule, client: xxx.xxx.xxx.xxx, server: example.com, request: "GET /.well-known/apple-app-site-association HTTP/1.1", host: "exampleB.com" 0000/00/00 00:00:00 [error] 853#0: *90622 access forbidden by rule, client: xxx.xxx.xxx.xxx, server: example.com, request: "GET /.well-known/apple-app-site-association HTTP/1.1", host: "www.exampleB.com" 0000/00/00 00:00:00 [error] 853#0: *90926 access forbidden by rule, client: xxx.xxx.xxx.xxx, server: example.com, request: "GET /.well-known/assetlinks.json HTTP/1.1", host: "www.exampleA.com" 0000/00/00 00:00:00 [error] 854#0: *91780 access forbidden by rule, client: xxx.xxx.xxx.xxx, server: example.com, request: "GET /.well-known/apple-app-site-association HTTP/1.1", host: "exampleA.com"
首先,我認為我可能是生成此內容的人,但當時我並沒有訪問/工作這些域。這些訪問請求來自我們的 3 個域。(使用不同的網路應用程序)
INFO1 : 似乎 IP 來自 Google-Bot (Crawler) 但是訪問這些文件有什麼重要的呢?(我們在文件夾中沒有這些文件,檢查是否隱藏在所有域根目錄中。)
該
/.well-known/
子目錄由RFC 5785RFC 8615基於 Web 的協議越來越普遍地要求在發出請求之前發現有關主機的策略或其他資訊(“站點範圍的元數據”)。例如,Robots Exclusion Protocol http://www.robotstxt.org/規定了自動化流程獲取資源訪問權限的方式;同樣,隱私偏好平台
$$ W3C.REC-P3P-20020416 $$ 告訴使用者代理如何事先發現隱私政策。 雖然有幾種方法可以訪問每個資源的元數據(例如,HTTP 標頭、WebDAV 的 PROPFIND
$$ RFC4918 $$),與它們相關的感知成本(無論是客戶端感知延遲和/或部署困難)通常會妨礙它們在這些場景中的使用。 發生這種情況時,通常會為此類數據指定一個*“眾所周知的位置”* ,以便輕鬆定位。然而,這種方法具有與其他此類指定*的“眾所周知的位置”*以及與預先存在的資源發生衝突的風險的缺點。
為了解決這個問題,本備忘錄在 HTTP(S) URI 中為這些*“眾所周知的位置”*定義了一個路徑前綴,
/.well-known/
. 需要為此類站點範圍的元數據定義資源的未來規範可以註冊它們的使用以避免衝突並最大限度地減少對站點 URI 空間的影響。您看到訪問被禁止錯誤的原因可能是對隱藏文件/文件夾(以點開頭的路徑
.
)的請求的全面阻止的結果。如果您在 /.well-known 中確實有有用的內容,那麼這個問答可能會很有趣。
然後將該目錄中的位置用於特定目的,
兩者都支持類似的目的,它們允許網站運營商指示訪問者在關聯的應用程序中打開網站,而不是在(移動)瀏覽器中打開網站。
/.well-known/acme-challenge/
是提議的自動證書管理環境標準的位置,作為 Let’s Encrypt 使用的 HTTP 標識符驗證的位置。IANA 在www.iana.org/assignments/well-known-uris/well-known-uris.xhtml上維護了一份已分配的知名位置的完整列表,而Wikipedia上的類似列表還包括一些未正式分配的不同 URI並由 IANA 註冊。