One easy way to make thornodes and midgards API or RPC endpoints available ecternally is by using a reverse proxy, a webserver that accepts all HTTP(S) requests and forwards them to the specific application.
The steps shown here are tested on Ubuntu 24.04, different distributions may need adjustments to the commands.
All commands are meant to be run as root user, if not specified otherwise. Depending on the server installation, they may need to be run from a different user via sudo.
DNS records
The reverse proxy needs a way to distinguish between the endpoints that it needs to address. One way to do this is by using different DNS records for each service, for example: api.yourdomain.com, rpc.yourdomain.com, midgard.yourdomain.com
Install prerequisites
aptinstall-y--no-install-recommendsnginx
Configuration
Remove default page
The default page is not needed and can be removed:
rm-f/etc/nginx/sites-enabled/default
Enable THORNode API endpoint
When using a self built version of THORNode, the API endpoint is disabled by default and needs to be enabled in the thornode app config.
/home/thornode/.thornode/config/app.toml
[api]# Enable defines if the API server should be enabled.enable =true# Swagger defines if swagger documentation should automatically be registered.swagger =false# Address defines the API server to listen on.address ="tcp://127.0.0.1:1317"
Thornode needs to be restarted, for the changes to take effect.