docs: address Gunicorn control socket hangs
This commit is contained in:
@@ -53,6 +53,14 @@ PLUGINS_CONFIG = {
|
|||||||
<pre><code>sudo /opt/netbox/venv/bin/python /opt/netbox/netbox/manage.py migrate
|
<pre><code>sudo /opt/netbox/venv/bin/python /opt/netbox/netbox/manage.py migrate
|
||||||
sudo /opt/netbox/venv/bin/python /opt/netbox/netbox/manage.py collectstatic --no-input
|
sudo /opt/netbox/venv/bin/python /opt/netbox/netbox/manage.py collectstatic --no-input
|
||||||
sudo systemctl restart netbox netbox-rq</code></pre>
|
sudo systemctl restart netbox netbox-rq</code></pre>
|
||||||
|
<h3>Gunicorn 25/26: Control-Socket deaktivieren</h3>
|
||||||
|
<p>Wenn <code>journalctl -u netbox</code> den Fehler <code>Control server error: Permission denied: '/nonexistent'</code> zeigt oder Gunicorn trotz laufender Worker nicht antwortet, deaktiviere den optionalen Control-Socket:</p>
|
||||||
|
<pre><code>grep -qE '^[[:space:]]*control_socket_disable[[:space:]]*=[[:space:]]*True' /opt/netbox/gunicorn.py \
|
||||||
|
|| echo 'control_socket_disable = True' | sudo tee -a /opt/netbox/gunicorn.py
|
||||||
|
|
||||||
|
sudo systemctl restart netbox
|
||||||
|
curl -sS -o /dev/null -w 'HTTP %{http_code} in %{time_total}s\n' --max-time 10 http://127.0.0.1:8001/login/</code></pre>
|
||||||
|
<p>Die Control-Schnittstelle wird von NetBox nicht für den normalen WSGI-Betrieb benötigt. Der Test muss innerhalb von zehn Sekunden einen HTTP-Status ausgeben.</p>
|
||||||
<h2>4. Sicheren Host-Agent einrichten</h2>
|
<h2>4. Sicheren Host-Agent einrichten</h2>
|
||||||
<p><code>dry_run</code> verändert das System nicht. Für Installieren, Aktualisieren, Aktivieren und Entfernen wird der mitgelieferte Linux Host-Agent benötigt. Installiere ihn aus <code>host_agent/</code>, prüfe <code>/etc/netbox-store-agent/agent.toml</code> und stelle anschließend <code>execution_mode</code> auf <code>agent</code>.</p>
|
<p><code>dry_run</code> verändert das System nicht. Für Installieren, Aktualisieren, Aktivieren und Entfernen wird der mitgelieferte Linux Host-Agent benötigt. Installiere ihn aus <code>host_agent/</code>, prüfe <code>/etc/netbox-store-agent/agent.toml</code> und stelle anschließend <code>execution_mode</code> auf <code>agent</code>.</p>
|
||||||
<p>Source-Kandidaten werden nur nach Admin-Freigabe verarbeitet. Der Agent prüft Commitbindung, Größe und SHA-256, baut daraus lokal ein Wheel und installiert nicht direkt aus einem beweglichen Branch.</p>
|
<p>Source-Kandidaten werden nur nach Admin-Freigabe verarbeitet. Der Agent prüft Commitbindung, Größe und SHA-256, baut daraus lokal ein Wheel und installiert nicht direkt aus einem beweglichen Branch.</p>
|
||||||
|
|||||||
@@ -498,6 +498,8 @@ test('public and admin templates render safely with complete artifact evidence',
|
|||||||
assertTrue(str_contains($installation, 'API_TOKEN_PEPPERS'));
|
assertTrue(str_contains($installation, 'API_TOKEN_PEPPERS'));
|
||||||
assertTrue(str_contains($installation, '/opt/netbox/netbox/generate_secret_key.py'));
|
assertTrue(str_contains($installation, '/opt/netbox/netbox/generate_secret_key.py'));
|
||||||
assertTrue(str_contains($installation, 'python -m py_compile'));
|
assertTrue(str_contains($installation, 'python -m py_compile'));
|
||||||
|
assertTrue(str_contains($installation, 'control_socket_disable = True'));
|
||||||
|
assertTrue(str_contains($installation, 'http://127.0.0.1:8001/login/'));
|
||||||
$admin = $view->render('admin/dashboard', [
|
$admin = $view->render('admin/dashboard', [
|
||||||
'title' => 'Admin', 'currentPath' => '/admin', 'adminEnabled' => true, 'adminUser' => 'admin',
|
'title' => 'Admin', 'currentPath' => '/admin', 'adminEnabled' => true, 'adminUser' => 'admin',
|
||||||
'csrf' => 'safe-token', 'ok' => '', 'error' => '', 'sources' => $state['sources'],
|
'csrf' => 'safe-token', 'ok' => '', 'error' => '', 'sources' => $state['sources'],
|
||||||
|
|||||||
Reference in New Issue
Block a user