Broadcast messages cannot be set nor updated on Gitlab instances running with a relative URL
<!---
Please read this!
Before opening a new issue, make sure to search for keywords in the issues
filtered by the "regression" or "type::bug" label:
- https://gitlab.com/gitlab-org/gitlab/issues?label_name%5B%5D=regression
- https://gitlab.com/gitlab-org/gitlab/issues?label_name%5B%5D=type::bug
and verify the issue you're about to submit isn't a duplicate.
--->
### Summary
Attempts to update an existing or to create a new broadcast message on a Gitlab instance (15.9.3) running under a relative URL at https://my.site.com/apps/gitlab/ fail with the message _There was an error adding broadcast message._ Looking at the javascript console, this is due to a call to a non-existing url at https://my.site.com/admin/broadcast_messages instead of https://my.site.com/apps/gitlab/admin/broadcast_messages
### Steps to reproduce
<!-- Describe how one can reproduce the issue - this is very important. Please use an ordered list. -->
- Deploy a Gitlab instance behind a reverse proxy with a relative URL of type https://my.site.com/apps/gitlab/ defined under `external_url` in `gitlab.rb` as documented at https://docs.gitlab.com/omnibus/settings/configuration.html#configure-a-relative-url-for-gitlab
- Go to https://my.site.com/apps/gitlab/admin/broadcast_messages
- Add some text under Message, select an end date in the future and click on _Add broadcast message_
- An error message is displayed (_There was an error adding broadcast message._) and the broadcast message is not displayed nor added to the list of broadcast messages.
### What is the current *bug* behavior?
Trying to edit an existing broadcast message (created with an older version of Gitlab) or trying to create a new one fails with the error message _There was an error adding broadcast message._
### What is the expected *correct* behavior?
The broadcast message should either be edited or created.
### Relevant logs and/or screenshots

One can see that the POST url is wrong while the referer url is correct.
### Output of checks
<!-- If you are reporting a bug on GitLab.com, uncomment below -->
<!-- This bug happens on GitLab.com -->
<!-- /label ~"reproduced on GitLab.com" -->
#### Results of GitLab environment info
<!-- Input any relevant GitLab environment information if needed. -->
<details>
<summary>Expand for output related to GitLab environment info</summary>
<pre>
System information
System:
Current User: git
Using RVM:no
Ruby Version: 2.7.7p221
Gem Version:3.1.6
Bundler Version:2.3.15
Rake Version: 13.0.6
Redis Version: 6.2.8
Sidekiq Version:6.5.7
Go Version:unknown
GitLab information
Version:15.9.3
Revision:f030ca96950
Directory:/opt/gitlab/embedded/service/gitlab-rails
DB Adapter:PostgreSQL
DB Version:12.12
URL:https://XXX.XXX.XXX.europa.eu/apps/gitlab
HTTP Clone URL: https://XXX.XXX.XXX.europa.eu/apps/gitlab/some-group/some-project.git
SSH Clone URL: git@XXX.XXX.XXX.europa.eu:some-group/some-project.git
Using LDAP:yes
Using Omniauth: yes
Omniauth Providers: openid_connect
GitLab Shell
Version:14.17.0
Repository storages:
- default: unix:/var/opt/gitlab/gitaly/gitaly.socket
GitLab Shell path:/opt/gitlab/embedded/service/gitlab-shell
</pre>
</details>
#### Results of GitLab application Check
<!-- Input any relevant GitLab application check information if needed. -->
<details>
<summary>Expand for output related to the GitLab application check</summary>
<pre>
Checking GitLab subtasks ...
Checking GitLab Shell ...
GitLab Shell: ... GitLab Shell version >= 14.17.0 ? ... OK (14.17.0)
Running /opt/gitlab/embedded/service/gitlab-shell/bin/check
Internal API available: OK
Redis available via internal API: OK
gitlab-shell self-check successful
Checking GitLab Shell ... Finished
Checking Gitaly ...
Gitaly: ... default ... OK
Checking Gitaly ... Finished
Checking Sidekiq ...
Sidekiq: ... Running? ... yes
Number of Sidekiq processes (cluster/worker) ... 1/1
Checking Sidekiq ... Finished
Checking Incoming Email ...
Incoming Email: ... Checking Reply by email ...
IMAP server credentials are correct? ... Checking mail_gitlab
yes
Mailroom enabled? ... skipped
MailRoom running? ... skipped
Checking Reply by email ... Finished
Checking Incoming Email ... Finished
Checking LDAP ...
LDAP: ... Server: ldapmain
LDAP authentication... Success
LDAP users with access to your GitLab server (only showing the first 100 results)
User output sanitized. Found 100 users of 100 limit.
Checking LDAP ... Finished
Checking GitLab App ...
Database config exists? ... yes
All migrations up? ... yes
Database contains orphaned GroupMembers? ... no
GitLab config exists? ... yes
GitLab config up to date? ... yes
Cable config exists? ... yes
Resque config exists? ... yes
Log directory writable? ... yes
Tmp directory writable? ... yes
Uploads directory exists? ... yes
Uploads directory has correct permissions? ... yes
Uploads directory tmp has correct permissions? ... yes
Systemd unit files or init script exist? ... skipped (omnibus-gitlab has neither init script nor systemd units)
Systemd unit files or init script up-to-date? ... skipped (omnibus-gitlab has neither init script nor systemd units)
Projects have namespace: ...
82/2 ... yes
11/4 ... yes
1109/5 ... yes
16/8 ... yes
1116/10 ... yes
1116/11 ... yes
33/15 ... yes
33/19 ... yes
1112/20 ... yes
1112/23 ... yes
16/26 ... yes
79/34 ... yes
80/35 ... yes
79/36 ... yes
79/38 ... yes
87/39 ... yes
82/40 ... yes
39/41 ... yes
43/42 ... yes
79/43 ... yes
82/44 ... yes
82/52 ... yes
88/54 ... yes
88/56 ... yes
39/57 ... yes
89/58 ... yes
88/59 ... yes
89/60 ... yes
12/61 ... yes
88/62 ... yes
86/63 ... yes
57/66 ... yes
79/67 ... yes
129/69 ... yes
86/70 ... yes
4/71 ... yes
32/75 ... yes
78/76 ... yes
79/77 ... yes
12/79 ... yes
12/80 ... yes
12/81 ... yes
82/82 ... yes
82/83 ... yes
70/84 ... yes
113/85 ... yes
66/86 ... yes
88/87 ... yes
4/89 ... yes
104/90 ... yes
98/91 ... yes
113/93 ... yes
51/109 ... yes
53/110 ... yes
103/111 ... yes
56/112 ... yes
65/113 ... yes
95/114 ... yes
58/115 ... yes
67/116 ... yes
68/117 ... yes
46/118 ... yes
45/119 ... yes
47/120 ... yes
44/121 ... yes
72/122 ... yes
54/123 ... yes
75/124 ... yes
69/125 ... yes
73/126 ... yes
64/127 ... yes
96/128 ... yes
61/129 ... yes
112/130 ... yes
97/131 ... yes
71/132 ... yes
55/133 ... yes
43/134 ... yes
60/135 ... yes
63/136 ... yes
76/137 ... yes
50/138 ... yes
74/139 ... yes
59/140 ... yes
99/141 ... yes
62/142 ... yes
49/144 ... yes
52/145 ... yes
82/146 ... yes
82/147 ... yes
82/148 ... yes
129/149 ... yes
126/151 ... yes
88/152 ... yes
127/153 ... yes
130/155 ... yes
132/156 ... yes
133/157 ... yes
88/158 ... yes
37/159 ... yes
79/161 ... yes
121/163 ... yes
90/164 ... yes
130/165 ... yes
1133/166 ... yes
79/167 ... yes
88/168 ... yes
140/169 ... yes
88/170 ... yes
144/171 ... yes
145/172 ... yes
146/173 ... yes
379/174 ... yes
138/175 ... yes
148/176 ... yes
32/177 ... yes
146/181 ... yes
146/182 ... yes
146/183 ... yes
153/184 ... yes
155/187 ... yes
155/188 ... yes
155/189 ... yes
156/190 ... yes
154/192 ... yes
157/193 ... yes
158/194 ... yes
9/195 ... yes
79/196 ... yes
88/197 ... yes
9/198 ... yes
154/199 ... yes
159/200 ... yes
33/204 ... yes
33/205 ... yes
79/206 ... yes
154/207 ... yes
154/208 ... yes
79/209 ... yes
16/210 ... yes
165/213 ... yes
1115/214 ... yes
82/215 ... yes
1115/216 ... yes
154/217 ... yes
168/218 ... yes
154/219 ... yes
154/220 ... yes
178/221 ... yes
82/223 ... yes
1116/225 ... yes
129/226 ... yes
171/227 ... yes
172/228 ... yes
174/230 ... yes
88/231 ... yes
79/232 ... yes
154/233 ... yes
33/234 ... yes
82/235 ... yes
176/236 ... yes
176/237 ... yes
178/239 ... yes
217/240 ... yes
79/241 ... yes
178/242 ... yes
150/243 ... yes
179/244 ... yes
1116/245 ... yes
180/246 ... yes
179/247 ... yes
9/248 ... yes
178/249 ... yes
154/250 ... yes
178/251 ... yes
154/252 ... yes
154/253 ... yes
146/254 ... yes
154/255 ... yes
66/256 ... yes
87/257 ... yes
184/259 ... yes
1133/260 ... yes
184/262 ... yes
184/263 ... yes
188/264 ... yes
191/265 ... yes
192/266 ... yes
193/267 ... yes
195/269 ... yes
196/270 ... yes
197/271 ... yes
198/272 ... yes
199/273 ... yes
200/274 ... yes
154/276 ... yes
154/277 ... yes
82/278 ... yes
207/279 ... yes
121/280 ... yes
187/281 ... yes
88/289 ... yes
32/294 ... yes
235/295 ... yes
206/296 ... yes
207/297 ... yes
16/299 ... yes
113/300 ... yes
238/301 ... yes
154/302 ... yes
154/303 ... yes
243/304 ... yes
249/305 ... yes
253/306 ... yes
4/307 ... yes
255/308 ... yes
178/309 ... yes
82/310 ... yes
184/311 ... yes
261/312 ... yes
263/313 ... yes
39/314 ... yes
34/315 ... yes
82/317 ... yes
155/318 ... yes
9/319 ... yes
79/320 ... yes
95/321 ... yes
95/322 ... yes
152/323 ... yes
379/324 ... yes
178/326 ... yes
269/327 ... yes
39/328 ... yes
274/329 ... yes
95/330 ... yes
279/331 ... yes
280/332 ... yes
269/333 ... yes
39/334 ... yes
39/335 ... yes
39/336 ... yes
39/337 ... yes
207/338 ... yes
207/339 ... yes
178/340 ... yes
293/341 ... yes
293/342 ... yes
9/343 ... yes
296/344 ... yes
297/345 ... yes
176/346 ... yes
82/347 ... yes
82/348 ... yes
82/349 ... yes
301/350 ... yes
178/353 ... yes
2/354 ... yes
130/355 ... yes
50/356 ... yes
308/357 ... yes
310/358 ... yes
311/359 ... yes
99/360 ... yes
313/361 ... yes
207/362 ... yes
149/363 ... yes
149/364 ... yes
149/365 ... yes
149/366 ... yes
149/367 ... yes
184/368 ... yes
9/369 ... yes
321/370 ... yes
305/372 ... yes
194/373 ... yes
99/375 ... yes
311/376 ... yes
79/377 ... yes
305/378 ... yes
207/379 ... yes
362/380 ... yes
305/381 ... yes
32/382 ... yes
329/383 ... yes
207/384 ... yes
12/385 ... yes
66/386 ... yes
328/388 ... yes
32/389 ... yes
308/390 ... yes
66/391 ... yes
9/392 ... yes
133/394 ... yes
66/395 ... yes
50/396 ... yes
1109/397 ... yes
340/398 ... yes
88/399 ... yes
194/400 ... yes
33/401 ... yes
344/402 ... yes
345/403 ... yes
346/404 ... yes
349/405 ... yes
88/406 ... yes
66/407 ... yes
99/408 ... yes
66/409 ... yes
348/410 ... yes
355/411 ... yes
357/412 ... yes
347/413 ... yes
60/414 ... yes
66/415 ... yes
360/416 ... yes
12/417 ... yes
12/418 ... yes
363/420 ... yes
365/421 ... yes
367/422 ... yes
1115/423 ... yes
79/424 ... yes
66/425 ... yes
341/426 ... yes
142/427 ... yes
66/428 ... yes
341/429 ... yes
375/430 ... yes
376/431 ... yes
99/432 ... yes
50/433 ... yes
377/434 ... yes
79/435 ... yes
379/436 ... yes
377/437 ... yes
66/440 ... yes
384/441 ... yes
66/444 ... yes
66/446 ... yes
386/447 ... yes
99/448 ... yes
166/451 ... yes
184/452 ... yes
387/453 ... yes
66/454 ... yes
82/455 ... yes
50/456 ... yes
66/457 ... yes
179/459 ... yes
379/460 ... yes
308/461 ... yes
391/462 ... yes
392/463 ... yes
308/464 ... yes
82/465 ... yes
394/466 ... yes
66/467 ... yes
308/468 ... yes
88/470 ... yes
397/471 ... yes
398/472 ... yes
113/473 ... yes
403/474 ... yes
404/475 ... yes
404/477 ... yes
2/478 ... yes
66/479 ... yes
404/480 ... yes
50/481 ... yes
66/482 ... yes
50/483 ... yes
404/484 ... yes
399/485 ... yes
88/486 ... yes
66/487 ... yes
404/488 ... yes
184/489 ... yes
82/490 ... yes
66/491 ... yes
178/492 ... yes
409/493 ... yes
406/494 ... yes
305/495 ... yes
412/496 ... yes
82/497 ... yes
417/498 ... yes
50/499 ... yes
425/500 ... yes
432/501 ... yes
50/502 ... yes
66/503 ... yes
1109/504 ... yes
66/505 ... yes
194/506 ... yes
404/507 ... yes
392/508 ... yes
50/509 ... yes
50/510 ... yes
66/511 ... yes
433/512 ... yes
90/513 ... yes
444/515 ... yes
305/516 ... yes
88/517 ... yes
90/519 ... yes
79/521 ... yes
90/523 ... yes
448/524 ... yes
88/525 ... yes
451/526 ... yes
452/527 ... yes
433/528 ... yes
305/530 ... yes
314/531 ... yes
461/532 ... yes
379/533 ... yes
66/534 ... yes
50/535 ... yes
472/536 ... yes
474/537 ... yes
437/538 ... yes
15/539 ... yes
33/541 ... yes
480/542 ... yes
492/544 ... yes
495/545 ... yes
495/546 ... yes
499/548 ... yes
331/549 ... yes
66/550 ... yes
305/553 ... yes
513/554 ... yes
61/555 ... yes
331/556 ... yes
525/557 ... yes
50/558 ... yes
528/559 ... yes
538/560 ... yes
542/561 ... yes
82/562 ... yes
66/563 ... yes
341/564 ... yes
66/565 ... yes
66/566 ... yes
1023/567 ... yes
1052/568 ... yes
542/569 ... yes
16/570 ... yes
66/571 ... yes
44/572 ... yes
31/573 ... yes
1034/574 ... yes
1052/575 ... yes
513/576 ... yes
516/577 ... yes
518/578 ... yes
395/579 ... yes
66/580 ... yes
184/581 ... yes
1046/582 ... yes
39/583 ... yes
1112/584 ... yes
1052/585 ... yes
1058/586 ... yes
31/587 ... yes
145/588 ... yes
7/589 ... yes
346/590 ... yes
1057/591 ... yes
90/593 ... yes
357/594 ... yes
138/595 ... yes
99/596 ... yes
1076/597 ... yes
1081/598 ... yes
1084/599 ... yes
1091/600 ... yes
1075/601 ... yes
1098/602 ... yes
303/603 ... yes
1050/604 ... yes
244/605 ... yes
1093/606 ... yes
534/608 ... yes
15/609 ... yes
311/610 ... yes
66/611 ... yes
41/612 ... yes
1126/613 ... yes
1081/614 ... yes
1129/615 ... yes
66/616 ... yes
376/617 ... yes
1220/618 ... yes
1220/619 ... yes
373/620 ... yes
1138/621 ... yes
1090/622 ... yes
1138/623 ... yes
1143/624 ... yes
1052/625 ... yes
345/626 ... yes
1151/627 ... yes
1154/628 ... yes
1156/629 ... yes
50/630 ... yes
90/631 ... yes
1161/632 ... yes
66/633 ... yes
1165/634 ... yes
1119/635 ... yes
308/636 ... yes
1109/637 ... yes
82/638 ... yes
1081/639 ... yes
66/640 ... yes
1075/641 ... yes
349/644 ... yes
169/646 ... yes
66/647 ... yes
113/648 ... yes
1180/649 ... yes
7/651 ... yes
7/652 ... yes
7/653 ... yes
7/654 ... yes
7/655 ... yes
7/656 ... yes
524/657 ... yes
322/658 ... yes
99/659 ... yes
536/660 ... yes
1215/661 ... yes
1051/662 ... yes
7/663 ... yes
1223/664 ... yes
178/665 ... yes
1052/666 ... yes
392/667 ... yes
1156/668 ... yes
79/669 ... yes
1075/670 ... yes
1173/671 ... yes
88/673 ... yes
1242/674 ... yes
1247/675 ... yes
1247/676 ... yes
90/677 ... yes
1253/678 ... yes
308/679 ... yes
1256/680 ... yes
1256/681 ... yes
1256/683 ... yes
184/684 ... yes
1052/685 ... yes
513/686 ... yes
513/687 ... yes
2/688 ... yes
1247/689 ... yes
1075/690 ... yes
1283/691 ... yes
207/692 ... yes
392/693 ... yes
113/694 ... yes
1171/695 ... yes
1294/696 ... yes
169/697 ... yes
392/698 ... yes
1302/699 ... yes
1308/700 ... yes
293/701 ... yes
61/702 ... yes
1315/703 ... yes
293/705 ... yes
1319/706 ... yes
1321/707 ... yes
66/708 ... yes
1321/709 ... yes
467/710 ... yes
1081/711 ... yes
2/712 ... yes
1081/713 ... yes
1161/714 ... yes
1171/715 ... yes
99/716 ... yes
452/717 ... yes
1315/718 ... yes
1119/719 ... yes
169/720 ... yes
1342/721 ... yes
76/722 ... yes
1165/723 ... yes
1242/724 ... yes
1247/725 ... yes
50/726 ... yes
1353/727 ... yes
1355/728 ... yes
1355/729 ... yes
1358/730 ... yes
525/731 ... yes
Redis version >= 6.0.0? ... yes
Ruby version >= 2.7.2 ? ... yes (2.7.7)
Git user has default SSH configuration? ... yes
Active users: ... 208
Is authorized keys file accessible? ... yes
GitLab configured to store new projects in hashed storage? ... yes
All projects are in hashed storage? ... yes
Checking GitLab App ... Finished
Checking GitLab subtasks ... Finished
</pre>
</details>
issue