我試圖從ssh終端連接到在谷歌云平臺虛擬機上運行的一個服務。
正在運行的行程正在監聽7076,如圖所示:
ced@instance-1:~$ sudo ss -ltn
狀態 Recv-Q Send-Q 本地地址:埠 對方地址:埠 行程
LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:*
聽0 128 0.0.0.0:22 0.0.0.0:*
聽0 128 [:]:22 [:]:*
聽 0 1024 [::1]:7076 [:]:*
我也有以下的防火墻規則,允許內部連接:
當使用命令時:
curl -X POST --data '{"action": "benchmark"}' localhost:7076
回應是:
curl: (7) 未能連接到 localhost 7076 埠。連接被拒絕
按照我的理解:
- [::1]:7076意味著我的服務只監聽本地主機上的連接 我通過ssh連接,然后使用curl,這是一個內部連接(即:從localhost)。
因此,我不明白為什么我不能連接。
uj5u.com熱心網友回復:
正如John Hanley所提到的,你的應用程式正在監聽IPv6,你可以用本地地址和埠稱為"[:1]:7076"。
回環地址0000:0000:0000:0000:0000:0001被簡寫為::1。
要用curl使用IPv6,必須按照manual頁面上的說明運行。
- -6:該選項只使用IPv6協議。
- -g。該選項關閉了 "URL球化分析器"。當你設定這個選項時,你可以指定包含字母{}[]的URL,而不需要由curl本身來解釋它們。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/319773.html
標籤:
上一篇:爭當后“浪”
