Error connecting to json rpc server For testing purposes, I need to connect from a web page in my shared hosting account (on the public internet) to my json rpc server which is running on my laptop . So bitcoind is running on my laptop, which is behind my router, and I have a shared web hosting account with easybitcoin.php running on it.



Let's say my router's public IP is 1.2.3.4, and the web server (where easybitcoin.php lives)'s IP address is 5.6.7.8, and my laptop LAN address is 192.168.1.99

The error I get is 


  Failed to connect to 1.2.3.4 port 8332: Connection refused


bitcoin.conf

server=1
rpcallowip=5.6.7.8
rpcport=8332


Router Port Forwarding



Firewall

Down. I checked it at the router and on the laptop (where there is an exception for bitcoind).

DMZ

Laptop is in the router's DMZ.

VPN

off

Online Port Scanner Check (looks good)

Result: 1.2.3.4 is listening on port 8332


Going to http://192.168.1.99:8332/ from inside the LAN (looks good)

JSONRPC server handles only POST requests


Going to http://1.2.3.4:8332/ from inside the LAN

A connection attempt timed out.


Going to http://1.2.3.4:8332/ from the public internet (I made an rpcallowip=IP of the testing website)

403 Response (0 characters)


Going to http://1.2.3.4:8330/ from the public internet (bogus port)

Connection timed out.


Once I get this working I will go back and tighten everything back up. But I need to get it working first. I must be missing something.
I could never get this to work. So as a work-around, I port forwarded http and https, and made and http endpoint that in turn called the function in question and returned the result. A roll-your-own http wrapper around bitcoind, because I couldn't get the bitcoind http server to accept a connection coming in from the outside to my router. This is not ideal, since I must turn off VPN to get even this to work.

I can tell by the settings available in bitcoin.conf that this functionality was intended to be possible. Therefore, I see this as a documentation failure. Someone somewhere knows how to do this, and I'm sure it's trivial to them, but it's a well kept secret.

I request an example of specifically this be added to bitcoin.org, since this is functionality intended to be possible.