摘要:在代理后面運行在代理后面運行應用程序時,將通過使用應用程序變量設置為下面列出的值之一。類型信任來自前置代理服務器的第跳作為客戶端。設置使用包實現,有關更多信息,請參閱其文檔。
在代理后面運行Express
在代理后面運行Express應用程序時,將(通過使用app.set())應用程序變量trust proxy設置為下面列出的值之一。
雖然如果未設置應用程序變量trust proxy,應用程序不會運行失敗,但它將錯誤地將代理的IP地址注冊為客戶端IP地址,除非配置了trust proxy。類型:Boolean
如果為true,則客戶端的IP地址被理解為X-Forwarded-*header中最左側的條目。
如果為false,則應用程序理解為直接面向互聯網,客戶端的IP地址來自req.connection.remoteAddress,這是默認設置。
類型:IP地址
要信任的IP地址、子網或IP地址和子網的數組,以下列表顯示了預配置的子網名稱:
loopback — 127.0.0.1/8、::1/128
linklocal — 169.254.0.0/16、fe80::/10
uniquelocal — 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16、fc00::/7
你可以通過以下任何方式設置IP地址:
app.set("trust proxy", "loopback") // specify a single subnet app.set("trust proxy", "loopback, 123.123.123.123") // specify a subnet and an address app.set("trust proxy", "loopback, linklocal, uniquelocal") // specify multiple subnets as CSV app.set("trust proxy", ["loopback", "linklocal", "uniquelocal"]) // specify multiple subnets as an array
指定后,IP地址或子網將從地址確定過程中排除,并將離應用服務器最近的不可信IP地址確定為客戶機的IP地址。
類型:Number信任來自前置代理服務器的第n跳作為客戶端。
類型:函數
定制信任實現,只有在你知道自己在做什么的情況下才能使用它。
app.set("trust proxy", function (ip) { if (ip === "127.0.0.1" || ip === "123.123.123.123") return true // trusted IPs else return false })
啟用trust proxy會產生以下影響:
req.hostname的值派生自X-Forwarded-Host header中設置的值,該值可由客戶端或代理設置。
可以通過反向代理設置X-Forwarded-Proto來告訴應用程序它是https還是http甚至是無效的名稱,該值由req.protocol反映。
req.ip和req.ips值使用X-Forwarded-For的地址列表填充。
trust proxy設置使用proxy-addr包實現,有關更多信息,請參閱其文檔。
上一篇:調試文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/100483.html
摘要:調試在內部使用模塊來記錄有關路由匹配正在使用的中間件函數應用程序模式以及請求響應周期流的信息。在上,使用相應的命令。生成的應用程序命令生成的應用程序也使用模塊,其的命名空間的范圍限定為應用程序的名稱。 調試Express Express在內部使用debug模塊來記錄有關路由匹配、正在使用的中間件函數、應用程序模式以及請求—響應周期流的信息。 debug就像是console.log的增強...
摘要:文檔基于的快速開放極簡主義的框架,是一個最小且靈活的應用程序框架,為和移動應用程序提供了一組強大的功能。借助無數的實用程序方法和中間件,你可以快速輕松地創建強大的。提供了一層輕薄的基本應用程序功能,而不會隱藏你熟悉和喜愛的功能。 Express 文檔 基于Node.js的快速、開放、極簡主義的Web框架,Express是一個最小且靈活的Node.js Web應用程序框架,為Web和移動...
摘要:在微信項目的開發中,經常需要對微信提供的接口進行調試,比如說錄音分享上傳圖像等接口,但是微信要求綁定安全域名才能使用其提供的一系列功能而在開發環境中使用或者本地無法完成域名的認證和綁定所以無法在本地調試。 在微信項目的開發中,經常需要對微信jssdk提供的接口進行調試,比如說錄音, 分享 ,上傳圖像等接口,但是微信jssdk要求綁定安全域名才能使用其提供的一系列功能 , 而在開發環境中...
摘要:項目地址腳手架使用過,的同學都清楚,官方推薦的安裝方式是通過專用的來快速搭建一個由編譯打包的項目框架。用在層的模塊化,在中間層實現了模塊化。這樣,從中間層到前端都實現了熱加載。 版權聲明:更多文章請訪問我的個人站Keyon Y,轉載請注明出處。 項目地址:https://github.com/KeyonY/NodeMiddle 腳手架? 使用過angular2,vue2的同學都清楚,官...
摘要:什么是跨域當協議域名端口號,有一個或多個不同時,有希望可以訪問并獲取數據的現象稱為跨域訪問,同源策略限制下都是不支持跨域的。命名是隨意的,只要是符合一級域名與二級域名的關系即可,然后訪問。 showImg(https://segmentfault.com/img/remote/1460000018998493); 閱讀原文 同源策略 同源策略/SOP(Same origin pol...
閱讀 3530·2021-11-23 10:10
閱讀 3292·2019-08-30 14:03
閱讀 2066·2019-08-30 13:09
閱讀 3392·2019-08-29 15:29
閱讀 1540·2019-08-29 11:23
閱讀 2002·2019-08-28 18:28
閱讀 2840·2019-08-26 13:34
閱讀 2168·2019-08-26 11:32