<VirtualHost *:443>
ProxyPreserveHost On
ServerName netbox.com
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/netbox.pem
SSLCertificateKeyFile /etc/apache2/ssl/netbox.key
Alias /static /opt/netbox/netbox/static
<Directory /opt/netbox/netbox/static>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Require all granted
</Directory>
<Location /static>
ProxyPass !
</Location>
RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
ProxyPass / http://192.168.1.5:8001/
ProxyPassReverse / http://192.168.1.5:8001/
</VirtualHost>
<VirtualHost *:443>
SSLEngine on
SSLProxyEngine On
SSLProxyVerify none
SSLCertificateFile /etc/apache2/ssl-certs/revprox.pem
SSLCertificateKeyFile /etc/apache2/ssl-certs/revprox.key
DocumentRoot /var/www/html/
ServerName revprox.com
<Directory "/var/www/html/">
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RequestHeader set "X-Forwaded-Proto" expr=%{REQUEST_SCHEME}
<Location /netbox>
ProxyPass
ProxyPassReverse https://netbox.com
Options +Indexes +ExecCGI +FollowSymLinks -MultiViews
Order Allow,Deny
Allow from all
</Location>
</VirtualHost>
ProxyPreserveHost On
ServerName netbox.com ServerAlias 192.168.1.5
SSLEngine on
Alias /netbox/static /opt/netbox/netbox/static
<Directory /opt/netbox/netbox/static>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Require all granted
</Directory>
<Location /netbox/static>
ProxyPass !
<
/Location>
RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
ProxyPass /netbox http://192.168.1.5:8001/netbox
ProxyPassReverse /netbox http://192.168.1.5:8001/netbox
On the reverse proxy I have it at
That above returns me the Apache default page, so I tried adding a /netbox to the end of the proxypass statement which returns a code 400 bad request. Not seeing anything in error.log on the netbox side or rev proxy side.
other_vhosts_access.log on the Netbox system shows
Invalid HTTP_HOST header: 'revprox.com, netbox.com'. The domain name provided is not valid according to RFC 1034/1035.
Request Method: | GET |
---|---|
Request URL: | https://revprox.com, netbox.com/netbox |
Django Version: | 3.0.7 |
Exception Type: | DisallowedHost |
Exception Value: | Invalid HTTP_HOST header: 'revprox.com, netbox.com'. The domain name provided is not valid according to RFC 1034/1035. |
Exception Location: | /usr/local/lib/python3.6/dist-packages/django/http/request.py in get_host, line 122 |
Python Executable: | /usr/bin/python3 |
Python Version: | 3.6.9 |
Python Path: | ['/opt/netbox-2.8.5/netbox', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/usr/local/lib/python3.6/dist-packages', '/usr/lib/python3/dist-packages'] |
Server time: | Thu, 11 Jun 2020 01:52:33 +0000 |
Enabled debugging and got this:DisallowedHost at /netbox
Invalid HTTP_HOST header: 'revprox.com, netbox.com'. The domain name provided is not valid according to RFC 1034/1035.
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
02:55:37.605742 IP 192.168.1.6.45276 > 192.168.1.5.http: Flags [S], seq 3634517567, win 64240, options [mss 1460,sackOK,TS val 1211405618 ecr 0,nop,wscale 7], length 0
02:55:37.605780 IP 192.168.1.5.http > 192.168.1.6.45276: Flags [S.], seq 1768159835, ack 3634517568, win 28960, options [mss 1460,sackOK,TS val 1590487995 ecr 1211405618,nop,wscale 7], length 0
02:55:37.605892 IP 192.168.1.6.45276 > 192.168.1.5.http: Flags [.], ack 1, win 502, options [nop,nop,TS val 1211405618 ecr 1590487995], length 0
02:55:37.606169 IP 192.168.1.6.45276 > 192.168.1.5.http: Flags [P.], seq 1:57 5, ack 1, win 502, options [nop,nop,TS val 1211405619 ecr 1590487995], length 574: HTTP: GET /netbox HTTP/1.1
02:55:37.606192 IP 192.168.1.5.http > 192.168.1.6.45276: Flags [.], ack 575, win 236, options [nop,nop,TS val 1590487995 ecr 1211405619], length 0
02:55:37.636707 IP 192.168.1.5.http > 192.168.1.6.45276: Flags [P.], seq 1:19 0, ack 575, win 236, options [nop,nop,TS val 1590488026 ecr 1211405619], length 189: HTTP: HTTP/1.1 400 Bad Request
02:55:37.636777 IP 192.168.1.5.http > 192.168.1.6.45276: Flags [.], seq 190:7 430, ack 575, win 236, options [nop,nop,TS val 1590488026 ecr 1211405619], length 7240: HTTP
02:55:37.636785 IP 192.168.1.5.http > 192.168.1.6.45276: Flags [P.], seq 7430 :8390, ack 575, win 236, options [nop,nop,TS val 1590488026 ecr 1211405619], length 960: HTTP
02:55:37.636801 IP 192.168.1.5.http > 192.168.1.6.45276: Flags [.], seq 8390: 12734, ack 575, win 236, options [nop,nop,TS val 1590488026 ecr 1211405619], length 4344: HTTP
02:55:37.636877 IP 192.168.1.6.45276 > 192.168.1.5.http: Flags [.], ack 190, win 501, options [nop,nop,TS val 1211405649 ecr 1590488026], length 0
02:55:37.636886 IP 192.168.1.5.http > 192.168.1.6.45276: Flags [.], seq 12734 :15630, ack 575, win 236, options [nop,nop,TS val 1590488026 ecr 1211405649], length 2896: HTTP
02:55:37.636942 IP 192.168.1.6.45276 > 192.168.1.5.http: Flags [.], ack 7430, win 466, options [nop,nop,TS val 1211405649 ecr 1590488026], length 0
02:55:37.636956 IP 192.168.1.5.http > 192.168.1.6.45276: Flags [.], seq 15630 :27214, ack 575, win 236, options [nop,nop,TS val 1590488026 ecr 1211405649], length 11584: HTTP
02:55:37.636960 IP 192.168.1.6.45276 > 192.168.1.5.http: Flags [.], ack 8390, win 501, options [nop,nop,TS val 1211405650 ecr 1590488026], length 0
02:55:37.636966 IP 192.168.1.6.45276 > 192.168.1.5.http: Flags [.], ack 12734 , win 481, options [nop,nop,TS val 1211405650 ecr 1590488026], length 0
02:55:37.637003 IP 192.168.1.6.45276 > 192.168.1.5.http: Flags [.], ack 15630 , win 496, options [nop,nop,TS val 1211405650 ecr 1590488026], length 0
02:55:37.637088 IP 192.168.1.5.http > 192.168.1.6.45276: Flags [.], seq 27214 :30110, ack 575, win 236, options [nop,nop,TS val 1590488026 ecr 1211405649], length 2896: HTTP
02:55:37.637100 IP 192.168.1.5.http > 192.168.1.6.45276: Flags [.], seq 30110 :33006, ack 575, win 236, options [nop,nop,TS val 1590488026 ecr 1211405650], length 2896: HTTP
02:55:37.637102 IP 192.168.1.5.http > 192.168.1.6.45276: Flags [.], seq 33006 :41694, ack 575, win 236, options [nop,nop,TS val 1590488026 ecr 1211405650], length 8688: HTTP
02:55:37.637139 IP 192.168.1.5.http > 192.168.1.6.45276: Flags [.], seq 41694 :44590, ack 575, win 236, options [nop,nop,TS val 1590488026 ecr 1211405650], length 2896: HTTP
02:55:37.637195 IP 192.168.1.6.45276 > 192.168.1.5.http: Flags [.], ack 27214 , win 451, options [nop,nop,TS val 1211405650 ecr 1590488026], length 0
02:55:37.637207 IP 192.168.1.5.http > 192.168.1.6.45276: Flags [.], seq 44590 :56174, ack 575, win 236, options [nop,nop,TS val 1590488026 ecr 1211405650], length 11584: HTTP
02:55:37.637210 IP 192.168.1.6.45276 > 192.168.1.5.http: Flags [.], ack 30110 , win 436, options [nop,nop,TS val 1211405650 ecr 1590488026], length 0
02:55:37.637323 IP 192.168.1.6.45276 > 192.168.1.5.http: Flags [.], ack 44590 , win 436, options [nop,nop,TS val 1211405650 ecr 1590488026], length 0
02:55:37.637332 IP 192.168.1.5.http > 192.168.1.6.45276: Flags [.], seq 56174 :70654, ack 575, win 236, options [nop,nop,TS val 1590488026 ecr 1211405650], length 14480: HTTP
02:55:37.637339 IP 192.168.1.5.http > 192.168.1.6.45276: Flags [.], seq 70654 :74998, ack 575, win 236, options [nop,nop,TS val 1590488026 ecr 1211405650], length 4344: HTTP
02:55:37.637448 IP 192.168.1.6.45276 > 192.168.1.5.http: Flags [.], ack 56174 , win 451, options [nop,nop,TS val 1211405650 ecr 1590488026], length 0
02:55:37.637460 IP 192.168.1.5.http > 192.168.1.6.45276: Flags [.], seq 74998 :76446, ack 575, win 236, options [nop,nop,TS val 1590488026 ecr 1211405650], length 1448: HTTP
02:55:37.637461 IP 192.168.1.5.http > 192.168.1.6.45276: Flags [FP.], seq 764 46:83174, ack 575, win 236, options [nop,nop,TS val 1590488026 ecr 1211405650], length 6728: HTTP
02:55:37.637464 IP 192.168.1.6.45276 > 192.168.1.5.http: Flags [.], ack 60518 , win 489, options [nop,nop,TS val 1211405650 ecr 1590488026], length 0
02:55:37.637580 IP 192.168.1.6.45276 > 192.168.1.5.http: Flags [.], ack 74998 , win 436, options [nop,nop,TS val 1211405650 ecr 1590488026], length 0
02:55:37.637705 IP 192.168.1.6.45276 > 192.168.1.5.http: Flags [.], ack 83175 , win 466, options [nop,nop,TS val 1211405650 ecr 1590488026], length 0
02:55:37.637767 IP 192.168.1.6.45276 > 192.168.1.5.http: Flags [F.], seq 575, ack 83175, win 501, options [nop,nop,TS val 1211405650 ecr 1590488026], length 0
02:55:37.637771 IP 192.168.1.5.http > 192.168.1.6.45276: Flags [.], ack 576, win 236, options [nop,nop,TS val 1590488027 ecr 1211405650], length 0