Json-Rpc

連接到 json rpc 伺服器時出錯

  • May 31, 2018

出於測試目的,我需要從共享主機帳戶(在公共網際網路上)中的網頁連接到筆記型電腦上執行的 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.

一旦我得到這個工作,我會回去並收緊一切。但我需要先讓它工作。我肯定錯過了什麼。

我永遠無法讓它工作。因此,作為一種解決方法,我轉發了httpand https,並製作了 andhttp端點,該端點又呼叫了有問題的函式並返回了結果。一個你自己的http包裝器bitcoind,因為我無法讓bitcoind http伺服器接受從外部進入我的路由器的連接。這並不理想,因為我必須關閉 VPN 才能使其正常工作。

我可以通過可用的設置來bitcoin.conf判斷這個功能是可以實現的。因此,我將此視為文件失敗。某個地方的某個人知道如何做到這一點,我敢肯定這對他們來說是微不足道的,但這是一個保守的秘密。

我要求將一個具體的範例添加到 中bitcoin.org,因為這是旨在實現的功能。

引用自:https://bitcoin.stackexchange.com/questions/74428