問題背景
我們使用FileZilla Server搭建FTP服務(wù)器。我們?cè)诜?wù)器上監(jiān)聽了21
端口作為服務(wù)器FTP端口。我們還選擇了端口范圍49123-49124
作為被動(dòng)模式端口,因?yàn)槲覀兿胱尶蛻舳巳恳员粍?dòng)模式連接。
服務(wù)端口
被動(dòng)模式端口范圍
由于我們的服務(wù)器不暴露在公網(wǎng)上,我們使用FRP進(jìn)行內(nèi)網(wǎng)穿透。配置信息被記錄在frpc.ini
中,內(nèi)容如下。
[common]
server_addr = someone.net
server_port = 7000
token = passowrd
local_ip = 192.168.1.185
[ftpsrvport]
type = tcp
local_port = 21
remote_port = 21212
[pasvport1]
type = tcp
local_port = 49123
remote_port = 49123
[pasvport2]
type = tcp
local_port = 49124
remote_port = 49124
預(yù)期出現(xiàn)的行為
客戶端連接someone.net:21212
以進(jìn)行FTP命令交互。服務(wù)端向客戶端發(fā)送被動(dòng)模式連接地址和端口someone.net:49123
或someone.net:49124
,以告訴客戶端到何處連接來傳輸FTP數(shù)據(jù)。接著,客戶端主動(dòng)連接被告知的地址和端口。
實(shí)際出現(xiàn)的行為
盡管已經(jīng)在FileZilla Server中配置在被動(dòng)模式時(shí)告訴客戶端去連接someone.net:49123-49124
作為FTP的數(shù)據(jù)傳輸端口,服務(wù)器仍然告訴客戶端去連接127.0.0.1:49123-49124
,導(dǎo)致客戶端無法傳輸數(shù)據(jù)。而在使用FileZilla Client時(shí),F(xiàn)ileZilla Client也只是在意識(shí)到服務(wù)器給出的地址不可用后智能地自行決定用服務(wù)器的公網(wǎng)地址替換127.0.0.1
才得以連接成功。
FileZilla Client信息輸出
原因
內(nèi)網(wǎng)穿透的來訪請(qǐng)求會(huì)全部變?yōu)?27.0.0.1來訪。FileZilla Server默認(rèn)私自決定對(duì)于這些非公網(wǎng)來訪請(qǐng)求,都不再將被動(dòng)模式地址替換為我們指定的公網(wǎng)地址。
內(nèi)網(wǎng)穿透后,所有來訪請(qǐng)求都會(huì)變成來自127.0.0.1
解決方案
取消這個(gè)私自決定。
取消勾選推薦選項(xiàng)文章來源:http://www.zghlxwxcb.cn/news/detail-858390.html
結(jié)論背景
盡管在解決后,這個(gè)問題的原因顯得非常幼稚,但是網(wǎng)絡(luò)上有無數(shù)人遇到這個(gè)問題卻不知道如何解決。人們給出的對(duì)該問題的回答通常模棱兩可,例如“檢查防火墻配置”或“可能是由于你的服務(wù)器(或路由器)配置不正確”。很顯然,只有在網(wǎng)路配置不正確的情況下,才會(huì)出現(xiàn)問題。這是無意義的虛詞。文章來源地址http://www.zghlxwxcb.cn/news/detail-858390.html
到了這里,關(guān)于解決FTP“服務(wù)器回應(yīng)不可路由的地址。使用服務(wù)器地址替代”錯(cuò)誤的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!