摘要:在代理后面運(yùn)行在代理后面運(yùn)行應(yīng)用程序時(shí),將通過(guò)使用應(yīng)用程序變量設(shè)置為下面列出的值之一。類(lèi)型信任來(lái)自前置代理服務(wù)器的第跳作為客戶(hù)端。設(shè)置使用包實(shí)現(xiàn),有關(guān)更多信息,請(qǐng)參閱其文檔。
在代理后面運(yùn)行Express
在代理后面運(yùn)行Express應(yīng)用程序時(shí),將(通過(guò)使用app.set())應(yīng)用程序變量trust proxy設(shè)置為下面列出的值之一。
雖然如果未設(shè)置應(yīng)用程序變量trust proxy,應(yīng)用程序不會(huì)運(yùn)行失敗,但它將錯(cuò)誤地將代理的IP地址注冊(cè)為客戶(hù)端IP地址,除非配置了trust proxy。類(lèi)型:Boolean
如果為true,則客戶(hù)端的IP地址被理解為X-Forwarded-*header中最左側(cè)的條目。
如果為false,則應(yīng)用程序理解為直接面向互聯(lián)網(wǎng),客戶(hù)端的IP地址來(lái)自req.connection.remoteAddress,這是默認(rèn)設(shè)置。
類(lèi)型:IP地址
要信任的IP地址、子網(wǎng)或IP地址和子網(wǎng)的數(shù)組,以下列表顯示了預(yù)配置的子網(wǎng)名稱(chēng):
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
你可以通過(guò)以下任何方式設(shè)置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地址或子網(wǎng)將從地址確定過(guò)程中排除,并將離應(yīng)用服務(wù)器最近的不可信IP地址確定為客戶(hù)機(jī)的IP地址。
類(lèi)型:Number信任來(lái)自前置代理服務(wù)器的第n跳作為客戶(hù)端。
類(lèi)型:函數(shù)
定制信任實(shí)現(xià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會(huì)產(chǎn)生以下影響:
req.hostname的值派生自X-Forwarded-Host header中設(shè)置的值,該值可由客戶(hù)端或代理設(shè)置。
可以通過(guò)反向代理設(shè)置X-Forwarded-Proto來(lái)告訴應(yīng)用程序它是https還是http甚至是無(wú)效的名稱(chēng),該值由req.protocol反映。
req.ip和req.ips值使用X-Forwarded-For的地址列表填充。
trust proxy設(shè)置使用proxy-addr包實(shí)現(xiàn),有關(guān)更多信息,請(qǐng)參閱其文檔。
上一篇:調(diào)試文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/100483.html
摘要:調(diào)試在內(nèi)部使用模塊來(lái)記錄有關(guān)路由匹配正在使用的中間件函數(shù)應(yīng)用程序模式以及請(qǐng)求響應(yīng)周期流的信息。在上,使用相應(yīng)的命令。生成的應(yīng)用程序命令生成的應(yīng)用程序也使用模塊,其的命名空間的范圍限定為應(yīng)用程序的名稱(chēng)。 調(diào)試Express Express在內(nèi)部使用debug模塊來(lái)記錄有關(guān)路由匹配、正在使用的中間件函數(shù)、應(yīng)用程序模式以及請(qǐng)求—響應(yīng)周期流的信息。 debug就像是console.log的增強(qiáng)...
摘要:文檔基于的快速開(kāi)放極簡(jiǎn)主義的框架,是一個(gè)最小且靈活的應(yīng)用程序框架,為和移動(dòng)應(yīng)用程序提供了一組強(qiáng)大的功能。借助無(wú)數(shù)的實(shí)用程序方法和中間件,你可以快速輕松地創(chuàng)建強(qiáng)大的。提供了一層輕薄的基本應(yīng)用程序功能,而不會(huì)隱藏你熟悉和喜愛(ài)的功能。 Express 文檔 基于Node.js的快速、開(kāi)放、極簡(jiǎn)主義的Web框架,Express是一個(gè)最小且靈活的Node.js Web應(yīng)用程序框架,為Web和移動(dòng)...
摘要:在微信項(xiàng)目的開(kāi)發(fā)中,經(jīng)常需要對(duì)微信提供的接口進(jìn)行調(diào)試,比如說(shuō)錄音分享上傳圖像等接口,但是微信要求綁定安全域名才能使用其提供的一系列功能而在開(kāi)發(fā)環(huán)境中使用或者本地?zé)o法完成域名的認(rèn)證和綁定所以無(wú)法在本地調(diào)試。 在微信項(xiàng)目的開(kāi)發(fā)中,經(jīng)常需要對(duì)微信jssdk提供的接口進(jìn)行調(diào)試,比如說(shuō)錄音, 分享 ,上傳圖像等接口,但是微信jssdk要求綁定安全域名才能使用其提供的一系列功能 , 而在開(kāi)發(fā)環(huán)境中...
摘要:項(xiàng)目地址腳手架使用過(guò),的同學(xué)都清楚,官方推薦的安裝方式是通過(guò)專(zhuān)用的來(lái)快速搭建一個(gè)由編譯打包的項(xiàng)目框架。用在層的模塊化,在中間層實(shí)現(xiàn)了模塊化。這樣,從中間層到前端都實(shí)現(xiàn)了熱加載。 版權(quán)聲明:更多文章請(qǐng)?jiān)L問(wèn)我的個(gè)人站Keyon Y,轉(zhuǎn)載請(qǐng)注明出處。 項(xiàng)目地址:https://github.com/KeyonY/NodeMiddle 腳手架? 使用過(guò)angular2,vue2的同學(xué)都清楚,官...
摘要:什么是跨域當(dāng)協(xié)議域名端口號(hào),有一個(gè)或多個(gè)不同時(shí),有希望可以訪問(wèn)并獲取數(shù)據(jù)的現(xiàn)象稱(chēng)為跨域訪問(wèn),同源策略限制下都是不支持跨域的。命名是隨意的,只要是符合一級(jí)域名與二級(jí)域名的關(guān)系即可,然后訪問(wèn)。 showImg(https://segmentfault.com/img/remote/1460000018998493); 閱讀原文 同源策略 同源策略/SOP(Same origin pol...
閱讀 3549·2021-11-23 10:10
閱讀 3320·2019-08-30 14:03
閱讀 2077·2019-08-30 13:09
閱讀 3404·2019-08-29 15:29
閱讀 1550·2019-08-29 11:23
閱讀 2017·2019-08-28 18:28
閱讀 2852·2019-08-26 13:34
閱讀 2175·2019-08-26 11:32