@@ -59,8 +59,55 @@ sed -i -e 's/ALLOWED_HOSTS = \[\]/ALLOWED_HOSTS = ["*"]/' \
5959$STD /opt/netbox/upgrade.sh
6060ln -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
66113systemctl restart apache2
0 commit comments