Listen 80
# Listen 443 https
# SSLEngine on
# SSLVerifyClient none
# SSLProxyCheckPeerCN off
# SSLCertificateFile /path/to/cert
# SSLCertificateKeyFile /path/to/key
# Automatically add the following headers to proxied requests.
# - X-Forwarded-For
# - X-Forwarded-Host
# - X-Forwarded-Server
ProxyAddHeaders on
# Enable the "RewriteRule" directive used for WebSocket proxying.
RewriteEngine on
# Redirect to app with a trailing slash if not present.
<LocationMatch "^/dtp/(grs|licenseserver|pstsec|pst|tcm)$">
RewriteRule .* "%{REQUEST_URI}/" [L]
</LocationMatch>
<Location /dtp>
RequestHeader set X-Forwarded-Prefix /dtp
RequestHeader set X-Forwarded-Proto expr=%{REQUEST_SCHEME}
ProxyPass "http://${DTP_HOSTNAME}:8080"
ProxyPassReverse "http://${DTP_HOSTNAME}:8080"
</Location>
<LocationMatch "^/dtp/(?<app>dc|ep|grs|licenseserver|pstsec|pst|pstsec|tcm)">
RequestHeader set X-Forwarded-Prefix "/dtp/%{MATCH_APP}e"
</LocationMatch>
<Location /dtp/dc>
ProxyPass "http://${DTP_HOSTNAME}:8082"
ProxyPassReverse "http://${DTP_HOSTNAME}:8082"
</Location>
<Location /dtp/ep>
ProxyPass "http://${DTP_HOSTNAME}:8314"
ProxyPassReverse "http://${DTP_HOSTNAME}:8314"
# mod_proxy_wstunnel is required for WebSocket proxying.
# Rewrite for Enterprise Pack WebSockets.
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteCond %{HTTP:Connection} upgrade [NC]
RewriteCond %{REQUEST_URI} ^/dtp/ep/(socket\.io/.*) [NC]
RewriteRule .* "ws://${DTP_HOSTNAME}:8314/%1" [P,L]
# Rewrite for Node-RED WebSockets.
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteCond %{HTTP:Connection} upgrade [NC]
RewriteRule .* "ws://${DTP_HOSTNAME}:8314%{REQUEST_URI}" [P,L]
</Location> |