Ubuntu Self-hosting issue: "Network error Could not connect to the API server." at login

Hello,

I’ve gone through the baserow set-up for Ubuntu and successfully have the frontend/login page when I visit the IP I have it hosted on, but any request made from this page fails.
From what I’ve looked into and seemed to have proven is that the IP I’m using to contact the backend is not on the allowed ips list.
I’ve tested that the backend is working by creating a user via curl on the cmd line:
curl -X POST http://10.70.28.73:8000/api/user/ -H 'Content-Type: application/json' -d '{"password":"testtest","email":"test4@test.com","name":"test"}'
and got back:
{"user":{"first_name":"test","username":"test4@test.com","is_staff":false,"id":2,"language":"en"}}
But get a cors error if done from the IP the frontend is hosted on.

From the backend.error it outputs the current configuration:
[2021-11-11 17:11:09 +0000] [34892] [DEBUG] Current configuration:
config: ./gunicorn.conf.py
wsgi_app: None
bind: [‘10.70.28.73:8000’]
backlog: 2048
workers: 5
worker_class: uvicorn.workers.UvicornWorker
threads: 1
worker_connections: 1000
max_requests: 0
max_requests_jitter: 0
timeout: 30
graceful_timeout: 30
keepalive: 2
limit_request_line: 4094
limit_request_fields: 100
limit_request_field_size: 8190
reload: False
reload_engine: auto
reload_extra_files: []
spew: False
check_config: False
print_config: False
preload_app: False
sendfile: None
reuse_port: False
chdir: /baserow
daemon: False
raw_env: []
pidfile: None
worker_tmp_dir: None
user: 0
group: 0
umask: 0
initgroups: False
tmp_upload_dir: None
secure_scheme_headers: {‘X-FORWARDED-PROTOCOL’: ‘ssl’, ‘X-FORWARDED-PROTO’: ‘https’, ‘X-FORWARDED-SSL’: ‘on’}
forwarded_allow_ips: [‘127.0.0.1’]
accesslog: None
disable_redirect_access_to_syslog: False
access_log_format: %(h)s %(l)s %(u)s %(t)s “%(r)s” %(s)s %(b)s “%(f)s” “%(a)s”
errorlog: -
loglevel: debug
capture_output: False
logger_class: gunicorn.glogging.Logger
logconfig: None
logconfig_dict: {}
syslog_addr: udp://localhost:514
syslog: False
syslog_prefix: None
syslog_facility: user
enable_stdio_inheritance: False
statsd_host: None
dogstatsd_tags:
statsd_prefix:
proc_name: None
default_proc_name: baserow.config.asgi:application
pythonpath: None
paste: None
on_starting: <function OnStarting.on_starting at 0x7f2ae4a24b90>
on_reload: <function OnReload.on_reload at 0x7f2ae4a24cb0>
when_ready: <function WhenReady.when_ready at 0x7f2ae4a24dd0>
pre_fork: <function Prefork.pre_fork at 0x7f2ae4a24ef0>
post_fork: <function Postfork.post_fork at 0x7f2ae4905050>
post_worker_init: <function PostWorkerInit.post_worker_init at 0x7f2ae4905170>
worker_int: <function WorkerInt.worker_int at 0x7f2ae4905290>
worker_abort: <function WorkerAbort.worker_abort at 0x7f2ae49053b0>
pre_exec: <function PreExec.pre_exec at 0x7f2ae49054d0>
pre_request: <function PreRequest.pre_request at 0x7f2ae49055f0>
post_request: <function PostRequest.post_request at 0x7f2ae4905680>
child_exit: <function ChildExit.child_exit at 0x7f2ae49057a0>
worker_exit: <function WorkerExit.worker_exit at 0x7f2ae49058c0>
nworkers_changed: <function NumWorkersChanged.nworkers_changed at 0x7f2ae49059e0>
on_exit: <function OnExit.on_exit at 0x7f2ae4905b00>
proxy_protocol: False
proxy_allow_ips: [‘127.0.0.1’]
keyfile: None
certfile: None
ssl_version: 2
cert_reqs: 0
ca_certs: None
suppress_ragged_eofs: True
do_handshake_on_connect: False
ciphers: None
raw_paste_global_conf: []
strip_header_spaces: False

Either the forwarded_allow_ips: [‘127.0.0.1’] or proxy_allow_ips: [‘127.0.0.1’] needs to be amended to allow requestes from other IP’s but I cannot figure out how to edit them.

If my idea of the issue is correct then my question is how do I edit these values?

What is it exactly that you want to do? You have installed Baserow via the manually install Ubuntu guide. During that process, you have probably chosen three domain names, right? One for the web-frontend, backend and the uploaded media files? If you have followed this guide, Baserow only works on the configured domain name or on localhost. Do I understand correct that you want your installation to also be accessible via the IP address of the server? Does that mean you don’t want to use a domain name?

Would you mind sharing how you supervisor.conf file looks? Normally you set the PUBLIC_WEB_FRONTEND_URL and PUBLIC_BACKEND_URL there to make sure the backend knows on which domain it runs. In your situation you might need to the IP address there.