Broadcast messages cannot be set nor updated on Gitlab instances running with a relative URL
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
- Deploy a Gitlab instance behind a reverse proxy with a relative URL of type https://my.site.com/apps/gitlab/ defined under
external_url
ingitlab.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
Results of GitLab environment info
Expand for output related to GitLab environment info
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
Results of GitLab application Check
Expand for output related to the GitLab application check
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