net/haproxy: boot path skips volatile runtime export; HAProxy starts manually after reboot
I maintainer di solito rispondono entro 2 giorni
@fraenki ci sta già lavorando.
Dal 29/7/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Important notices
- I have read the contributing guidelines.
- I have searched existing open and closed issues.
- The title contains the affected plugin.
Plugin and system versions
- Affected plugin:
os-haproxy - Plugin version where first observed:
5.1 - Last known working plugin version: Not known; no earlier version was tested in this environment.
- OPNsense version:
26.7.1 - HAProxy package:
haproxy32 3.2.21
Exact GUI URL involved
https://<redacted-opnsense-host>/ui/haproxy/
Starting HAProxy from the service controls on this page after boot succeeds.
Describe the bug
After a reboot, HAProxy does not start automatically despite being enabled. The same configuration starts successfully from the HAProxy GUI after the system has completed booting.
This is reproducible with a generated HAProxy configuration that passes haproxy -c. It is not caused by a WebGUI listener conflict.
The observed start paths appear to differ:
- The normal rc.d boot service starts HAProxy from the persisted
/usr/local/etc/haproxy.conf. - The configuration refers to volatile runtime assets below
/tmp/haproxy/and/var/haproxy/. - Those assets are created/exported by
/usr/local/opnsense/scripts/OPNsense/HAProxy/setup.sh. - The GUI/configd Start action works because it runs:
setup.sh deploy rc-wrapper.sh start - The package boot hook only calls setup/start when
/usr/local/etc/haproxy.confis absent:if [ ! -e /usr/local/etc/haproxy.conf -a -e /usr/local/etc/haproxy.conf.staging ]; then cp /usr/local/etc/haproxy.conf.staging /usr/local/etc/haproxy.conf /usr/local/etc/rc.d/haproxy start fi
Since /usr/local/etc/haproxy.conf persists across reboots, that branch is normally skipped. HAProxy is therefore started before its runtime certificate lists, certificate exports, Lua/map/error-file directories, and chroot preparation have been recreated.
Steps to reproduce
- Install and enable
os-haproxy. - Configure an HAProxy SSL frontend and enable automatic startup.
- Ensure the generated configuration contains runtime references such as:
chroot /var/haproxy lua-prepend-path /tmp/haproxy/lua/?.lua crt-list /tmp/haproxy/ssl/<frontend-id>.certlist - Confirm that HAProxy is running.
- Reboot OPNsense.
- After boot completes, check the service status: HAProxy is not running.
- Open
https://<redacted-opnsense-host>/ui/haproxy/and start HAProxy. - HAProxy then starts successfully and listens as configured.
Expected behaviour
HAProxy should recreate its required volatile runtime assets and start automatically after boot.
Actual behaviour
HAProxy fails to start at boot, but starts successfully from the GUI after boot.
Additional technical details
HAProxy is enabled through /etc/rc.conf.d/haproxy:
haproxy_enable=YES
haproxy_setup="/usr/local/opnsense/scripts/OPNsense/HAProxy/setup.sh"
haproxy_pidfile="/var/run/haproxy.pid"
haproxy_config="/usr/local/etc/haproxy.conf"
However, /usr/local/etc/rc.d/haproxy does not invoke $haproxy_setup; it performs a configuration check and starts HAProxy directly.
The GUI/configd action does invoke setup:
[start]
command:/usr/local/opnsense/scripts/OPNsense/HAProxy/setup.sh deploy; /usr/local/opnsense/scripts/OPNsense/HAProxy/rc-wrapper.sh start
The normal OPNsense boot order also runs rc.bootup before ordinary rc.syshook start hooks. Consequently, the existing 50-haproxy start hook cannot prepare these files before the regular rc.d service start attempt.
Listener configuration
This is not the WebGUI HTTP redirect / listener-conflict case discussed in #5297:
- WebGUI HTTPS uses port
4433. - WebGUI HTTP redirect is disabled.
- HAProxy is intentionally configured to bind TCP ports
80and443. - After a manual GUI start, HAProxy successfully listens on TCP ports
80and443for both IPv4 and IPv6.
Related issues
- #4314 — similar “does not start after boot/reboot” symptom; automatically closed without a confirmed fix.
- #5297 — similar title, but ultimately caused by a WebGUI listener conflict and does not apply here.
Suggested direction
Please consider making the boot path run the same preparation sequence as the GUI/configd Start action, or changing the HAProxy boot hook so it reliably prepares runtime assets before HAProxy is started.
A package-owned fix would be preferable to local startup-hook workarounds.
- Lingua principale
- PHP
- Stelle
- 1.2k
- Fork
- 905
- Merge medio
- 4g 19h
- PR unite (30g)
- 16
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di opnsense/plugins
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 2 giorni
-
security/tailscale: add description to restart serviceForse già presa @drpsyko101 l’ha presa 2 giorni fa. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
I maintainer di solito rispondono entro 2 giorni
-
security/acme-client: missing accounts directory causes DNS-01 validation failureForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Apertasupport
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
opnsense/plugins#5770 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
security/tor: Advanced mode / help toggles are brokenForse già presa @txr13 l’ha presa 44 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 2 giorni
-
os-opnproxy 1.0.5_5Apertaincomplete
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
opnsense/plugins#5710 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di opnsense/plugins
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
OpenConext/OpenConext-engineblock#2168 ·
I maintainer di solito rispondono entro 5 giorni
-
mobile-app
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
Open-Locker/Open-Locker#352 ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug]: SCIM Users groups[].value is returned as an integer, causing authentik user discovery to failAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
grokability/snipe-it#20006 ·
I maintainer di solito rispondono entro 1 giorno
-
fixed
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
firefly-iii/firefly-iii#13150 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno