# UI webserver authentication issues

**URL:** <https://forum.yugabyte.com/t/ui-webserver-authentication-issues/4944>\
**Category:** General\
**Created:** [February 20, 2026, 3:41pm UTC](https://forum.yugabyte.com/t/ui-webserver-authentication-issues/4944 "2026-02-20T15:41:17Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![maxernstscr](https://avatars.discourse-cdn.com/v4/letter/m/96bed5/32.png) [@maxernstscr](https://forum.yugabyte.com/u/maxernstscr)\
**Post date:** [February 20, 2026, 3:41pm UTC](https://forum.yugabyte.com/t/ui-webserver-authentication-issues/4944/1 "2026-02-20T15:41:17Z")

</div>

Hi team,

I am using YugabyteDB Open Source version and we found it very hard to have authentication set on the 15433 UI page!

Secondly, when tried to use the flags :  
webserver\_password\_file ,webserver\_authentication\_domain for tserver and master, it fails on creation with error :  
Webserver: Invalid option: global\_passwords\_file and I think this is because of a bug in the code where

| YugabyteDB `webserver.cc` passes | Squeasel expects |
| --- | --- |
| `"global_passwords_file"` | `"global_auth_file"` |

The option name **doesn’t match** , so `get_option_index()` returns `-1`, Squeasel logs `"Invalid option: global_passwords_file"`, calls `free_context(ctx)`, returns `NULL`, and then YugabyteDB sees context\_ == nullptr

We would love to have this solved please and the General UI 15433 having authentication layer

---

<div class="post-metadata">

**Author:** ![maxernstscr](https://avatars.discourse-cdn.com/v4/letter/m/96bed5/32.png) [@maxernstscr](https://forum.yugabyte.com/u/maxernstscr)\
**Post date:** [February 20, 2026, 3:42pm UTC](https://forum.yugabyte.com/t/ui-webserver-authentication-issues/4944/2 "2026-02-20T15:42:39Z")

</div>

We would love to know how we can set and hide the UI ( on 9000 and 7000 and 15433 ) behind an auth page or something , do you have any suggestions please?

Thank you

---

<div class="post-metadata">

**Author:** ![dorian\_yugabyte](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.yugabyte.com/dorian_yugabyte/32/206_2.png) [@dorian\_yugabyte](https://forum.yugabyte.com/u/dorian_yugabyte)\
**Post date:** [February 20, 2026, 3:57pm UTC](https://forum.yugabyte.com/t/ui-webserver-authentication-issues/4944/3 "2026-02-20T15:57:00Z")

</div>

Hi @maxernstscr

How did you use them exactly?

Please pass exact commands and exact errors.

> [@maxernstscr](#):
>
> Squeasel expects

What is `Squeasel`?

> [@maxernstscr](#):
>
> We would love to know how we can set and hide the UI ( on 9000 and 7000 and 15433 ) behind an auth page or something , do you have any suggestions please?

Note that 7000(yb-master), 9000(yb-tserver), and 15433(yugabyte-ui) are all different processes.

Can you check [yb-tserver configuration reference | YugabyteDB Docs](https://docs.yugabyte.com/stable/reference/configuration/yb-tserver/#webserver-configuration) ? Same for yb-master [All YB-Master flags | YugabyteDB Docs](https://docs.yugabyte.com/stable/reference/configuration/all-flags-yb-master/#webserver-password-file)

* * *

Note that the best way is to put a reverse http proxy in front of them.

---

<div class="post-metadata">

**Author:** ![maxernstscr](https://avatars.discourse-cdn.com/v4/letter/m/96bed5/32.png) [@maxernstscr](https://forum.yugabyte.com/u/maxernstscr)\
**Post date:** [February 20, 2026, 4:03pm UTC](https://forum.yugabyte.com/t/ui-webserver-authentication-issues/4944/4 "2026-02-20T16:03:57Z")

</div>

yugabyted.conf

{  
“master\_flags”:“hide\_dead\_node\_threshold\_mins=1,webserver\_password\_file=/home/yugabyte/zone4/.htpasswd,webserver\_authentication\_domain=[mydomain.com](http://mydomain.com)",  
“tserver\_flags”:“webserver\_password\_file=/home/yugabyte/zone4/.htpasswd,webserver\_authentication\_domain=[mydomain.com](http://mydomain.com)”  
}

Errors from logs:

Log file created at: 2026/02/20 15:07:07  
Current UTC time: 2026/02/20 15:07:07  
Running on machine:${myhostipaddress}.com  
Application fingerprint: version 2025.2.0.0 build 131 revision 73eac3c9f1b96c84a8284af85ea3579b75832d9a build\_type RELEASE built at 04 Dec 2025 18:21:29 UTC  
Running duration (h:mm:ss): 0:00:00  
Log line format: [IWEF]mmdd hh:mm:ss.uuuuuu threadid file:line] msg  
F0220 15:07:07.495572 21 master\_main.cc:143] Network error (yb/server/webserver.cc:464): Webserver: Could not start on address : ${myhostipaddress}.com:7000

I0220 15:07:07.482846 21 webserver.cc:368] Document root: /home/yugabyte/www

I0220 15:07:07.482857 21 webserver.cc:423] Webserver: Password file is /home/yugabyte/zone4/.htpasswd

I0220 15:07:07.483160 21 webserver.cc:354] Webserver listen spec is ${myhostipaddress}:7000

I0220 15:07:07.483174 21 webserver.cc:579] Webserver: Invalid option: global\_passwords\_file

W0220 15:07:07.483183 21 net\_util.cc:543] Failed to bind to 0.0.0.0:7000. Trying to use lsof to find any processes listening on the same port:

I0220 15:07:07.483194 21 net\_util.cc:502] $ export PATH=$PATH:/usr/sbin ; lsof -n -i ‘TCP:7000’ -sTCP:LISTEN ; for pid in $(lsof -F p -n -i ‘TCP:7000’ -sTCP:LISTEN | cut -f 2 -dp) ; do while [$pid -gt 1] ; do ps h -fp $pid ; pid=$(sed ‘s/.\* (.) [^] ([0-9]).\*/\1/g’ /proc/$pid/stat); done ; done

I0220 15:07:07.495558 21 net\_util.cc:510]

F0220 15:07:07.495572 21 master\_main.cc:143] Network error (yb/server/webserver.cc:464): Webserver: Could not start on address ${myhostipaddress}:7000

When I remove these 2 flags everything runs without issues.

---

<div class="post-metadata">

**Author:** ![maxernstscr](https://avatars.discourse-cdn.com/v4/letter/m/96bed5/32.png) [@maxernstscr](https://forum.yugabyte.com/u/maxernstscr)\
**Post date:** [February 20, 2026, 4:05pm UTC](https://forum.yugabyte.com/t/ui-webserver-authentication-issues/4944/5 "2026-02-20T16:05:16Z")

</div>

And for the second question:

i was just looking at your repo [yugabyte-db/src/yb/server/webserver.cc at a2df0514f33051c77ae8cae8c29344be18e89903 · yugabyte/yugabyte-db · GitHub](https://github.com/yugabyte/yugabyte-db/blob/a2df0514f33051c77ae8cae8c29344be18e89903/src/yb/server/webserver.cc#L426)

> <https://github.com/yugabyte/squeasel/blob/d83cf6d9af0e2c98c16467a6a035ae0d7ca21cb1/squeasel.c#L230>

finding where this “global\_passwords\_file” variable is coming from or used!

---

<div class="post-metadata">

**Author:** ![maxernstscr](https://avatars.discourse-cdn.com/v4/letter/m/96bed5/32.png) [@maxernstscr](https://forum.yugabyte.com/u/maxernstscr)\
**Post date:** [February 20, 2026, 4:11pm UTC](https://forum.yugabyte.com/t/ui-webserver-authentication-issues/4944/6 "2026-02-20T16:11:06Z")

</div>

Also how can please put a reverse proxy behind them if I deploy this in Linux hosts and want to create a distributed cluster connecting different machines ! They need to join each other using the advertise\_address no ? how can I achieve the same if I deploy it in the host and restrict it to only 127.0.0.1?

---

<div class="post-metadata">

**Author:** ![dorian\_yugabyte](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.yugabyte.com/dorian_yugabyte/32/206_2.png) [@dorian\_yugabyte](https://forum.yugabyte.com/u/dorian_yugabyte)\
**Post date:** [February 23, 2026, 11:52am UTC](https://forum.yugabyte.com/t/ui-webserver-authentication-issues/4944/7 "2026-02-23T11:52:00Z")

</div>

> [@maxernstscr](#):
>
> They need to join each other using the advertise\_address no ?

See [Default ports reference | YugabyteDB Docs](https://docs.yugabyte.com/stable/reference/configuration/default-ports/)

They contact each other on ports 7100 & 9100.

7000/9000 are read-only UI. You put a reverse proxy only on 7000/9000.
