Start your rethinkdb instance with this flag:
--bind all (or bind=all in the configuration file for your instance)
Block external access to the web UI with these two commands:
sudo iptables -A INPUT -i eth0 -p tcp --dport 8080 -j DROP
sudo iptables -I INPUT -i eth0 -s 127.0.0.1 -p tcp --dport 8080 -j ACCEPT
Install nginx:
sudo apt-get install nginx
Create a new virtual host (server block):
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/rethinkdb_admin
Edit this file:
sudo vi /etc/nginx/sites-available/rethinkdb_admin
to say:
server {
  listen 80;
  server_name domain.com;
  
  location /rethinkdb-admin/ {
    auth_basic "Restricted";
    auth_basic_user_file /etc/nginx/.rethinkdb.pass;
    proxy_pass http://127.0.0.1:8080/;
    proxy_redirect off;
    proxy_set_header Authorization "";
  }
}
where domain.com is the host name (or IP address) of the server running the RethinkDB Admin UI.
Create username and password (make sure you have apache2-utils installed sudo apt-get install apache2-utils):
cd /etc/nginx/
htpasswd -c .rethinkdb.pass <username> where <username> is the username you want.
The command will ask you to enter the password for the username you chose.
start/restart nginx
sudo service nginx start
or
sudo service nginx restart
Verify it works:
Navigate to http://domain.com/rethinkdb_admin where domain.com is the host name (or IP address) of the server running the RethinkDB Admin UI.
this is awesome! Thank you so much!!!