連接到 json rpc 伺服器時出錯
出於測試目的,我需要從共享主機帳戶(在公共網際網路上)中的網頁連接到筆記型電腦上執行的 json rpc 伺服器。所以 bitcoind 在我的路由器後面的筆記型電腦上執行,我有一個共享的網路託管帳戶,上面執行著 easybitcoin.php。
假設我的路由器的公共 IP 是 1.2.3.4,Web 伺服器(easybitcoin.php 所在的位置)的 IP 地址是 5.6.7.8,我的筆記型電腦 LAN 地址是 192.168.1.99
我得到的錯誤是
1.2.3.4 8332埠連接失敗:連接被拒絕
比特幣.conf
server=1 rpcallowip=5.6.7.8 rpcport=8332
路由器埠轉發
防火牆
下。我在路由器和筆記型電腦上檢查了它(bitcoind 有一個例外)。
非軍事區
筆記型電腦在路由器的 DMZ 中。
VPN
離開
線上埠掃描器檢查(看起來不錯)
Result: 1.2.3.4 is listening on port 8332
從區域網路內部訪問http://192.168.1.99:8332/ (看起來不錯)
JSONRPC server handles only POST requests
從區域網路內部訪問<http://1.2.3.4:8332/>
A connection attempt timed out.
從公共網際網路訪問<http://1.2.3.4:8332/>(我做了一個 rpcallowip=IP 的測試網站)
403 Response (0 characters)
從公共網際網路(假埠)訪問<http://1.2.3.4:8330/>
Connection timed out.
一旦我得到這個工作,我會回去並收緊一切。但我需要先讓它工作。我肯定錯過了什麼。
我永遠無法讓它工作。因此,作為一種解決方法,我轉發了
http
andhttps
,並製作了 andhttp
端點,該端點又呼叫了有問題的函式並返回了結果。一個你自己的http
包裝器bitcoind
,因為我無法讓bitcoind http
伺服器接受從外部進入我的路由器的連接。這並不理想,因為我必須關閉 VPN 才能使其正常工作。我可以通過可用的設置來
bitcoin.conf
判斷這個功能是可以實現的。因此,我將此視為文件失敗。某個地方的某個人知道如何做到這一點,我敢肯定這對他們來說是微不足道的,但這是一個保守的秘密。我要求將一個具體的範例添加到 中
bitcoin.org
,因為這是旨在實現的功能。