Skip to content

Commit fd44052

Browse files
committed
netbox: serve on plain HTTP too, port 80 forced HTTPS redirect broke reverse proxies
1 parent c1929dc commit fd44052

1 file changed

Lines changed: 48 additions & 1 deletion

File tree

install/netbox-install.sh

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,55 @@ sed -i -e 's/ALLOWED_HOSTS = \[\]/ALLOWED_HOSTS = ["*"]/' \
5959
$STD /opt/netbox/upgrade.sh
6060
ln -s /opt/netbox/contrib/netbox-housekeeping.sh /etc/cron.daily/netbox-housekeeping
6161

62-
mv /opt/netbox/contrib/apache.conf /etc/apache2/sites-available/netbox.conf
6362
$STD openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/netbox.key -out /etc/ssl/certs/netbox.crt -subj "/C=US/O=NetBox/OU=Certificate/CN=localhost"
63+
# Upstream's contrib/apache.conf redirects all port-80 traffic to HTTPS, which breaks
64+
# reverse proxies that talk plain HTTP to the backend (they get a redirect instead of
65+
# content). Serve NetBox directly on 80 too; 443 stays available for direct HTTPS access.
66+
cat <<EOF >/etc/apache2/sites-available/netbox.conf
67+
<VirtualHost *:80>
68+
ProxyPreserveHost On
69+
70+
Alias /static /opt/netbox/netbox/static
71+
72+
<Directory /opt/netbox/netbox/static>
73+
Options FollowSymLinks MultiViews
74+
AllowOverride None
75+
Require all granted
76+
</Directory>
77+
78+
<Location /static>
79+
ProxyPass !
80+
</Location>
81+
82+
RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
83+
ProxyPass / http://127.0.0.1:8001/
84+
ProxyPassReverse / http://127.0.0.1:8001/
85+
</VirtualHost>
86+
87+
<VirtualHost *:443>
88+
ProxyPreserveHost On
89+
90+
SSLEngine on
91+
SSLCertificateFile /etc/ssl/certs/netbox.crt
92+
SSLCertificateKeyFile /etc/ssl/private/netbox.key
93+
94+
Alias /static /opt/netbox/netbox/static
95+
96+
<Directory /opt/netbox/netbox/static>
97+
Options FollowSymLinks MultiViews
98+
AllowOverride None
99+
Require all granted
100+
</Directory>
101+
102+
<Location /static>
103+
ProxyPass !
104+
</Location>
105+
106+
RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
107+
ProxyPass / http://127.0.0.1:8001/
108+
ProxyPassReverse / http://127.0.0.1:8001/
109+
</VirtualHost>
110+
EOF
64111
$STD a2enmod ssl proxy proxy_http headers rewrite
65112
$STD a2ensite netbox
66113
systemctl restart apache2

0 commit comments

Comments
 (0)