如何在实时应用程序RethinkDB上访问/安装/设置Web面板

I've looked extensively and hit many brick walls.

We are utilising RethinkDB in Invmail.IO a portion of the tech stack we have acquired and intergrated from LB source is the Invite system, which i understand is all database driven.

Though finding experienced developers in RethinkDB's is prooving quiet difficult, http://rethinkdb.com/docs/administration-tools/. We would like to have the web panel active yet can not find a guide on how to do this on a live application so that we can login and see where the invite and update the wording.

Any advice would be appreciated.

The dashboard actually should available to you without doing anything extra. When you runs it, you usually see thing like

$ rethinkdb
info: Creating directory .../rethinkdb_data
info: Listening for intracluster connections on port 29015
info: Listening for client driver connections on port 28015
info: Listening for administrative HTTP connections on port 8080
info: Server ready

When you run RethinkDB, the web panel admin runs on port 8080 by default.But by default it only binds to loopback address: 127.0.0.1. So when you are putting it on a production server, you cannot access it by using server_ip:8080. However, accessing via 127.0.0.1:8080 inside production server should work.

Other reasons maybe because, you accidently change it to a different port in config file.

First, verify that you can reach the dashboard locally on production. By SSHing into production server, try something like:

  • lsof -i :8080
  • curl 127.0.0.1:8080

If nothing listen on that port, or it does't respond, then ensure that you don't change the HTTP port. Check your configuration.

Once you verified you can reach it locally on production server. You had some option to access it from outside:

  • Simplest way I think is using SSH port forwarding like this

    ssh -fNTL localhost:8080:127.0.0.1:8080 username@ipaddress_of_server

    Then on your PC, visiting http://localhost:8080 will show you web panel of production RethinkDB. What this does it it forwards traffic to port 8080 from your local computer, to 127.0.0.1:8080 on server you are SSHing to.

  • Install a proxy like Squid on production server. Squid runs on production server, so it can talk to RethinkDB dashboard. Then configure your browser/network to use this proxy when you need access to admin dashboard. Ensure to config Squid properly and with authentication.

  • Install a VPN like openvpn or strongswan on server. Then change binding address to LAN IP. So after connecting to VPN, you can reached it via that LAN IP. If you runs on EC2 classical, you can create a virtual interface, and bind to it. Never bind to private IP of a classical EC2 server, or if you do, ensure to setup security group or using iptable to only allow your office access to it.