58 lines
1.9 KiB
INI
58 lines
1.9 KiB
INI
# OpenWrt HAProxy example: TLS on :443, API paths to VM :3000, web to VM :80.
|
|
# Merge into /etc/haproxy.cfg on the router (adjust IPs as needed).
|
|
#
|
|
# Verify after reload:
|
|
# curl -skI https://cyberhybridhub.com/v1/me/profile | head -3 # expect 401
|
|
# curl -skI https://cyberhybridhub.com/ | head -3 # expect 200
|
|
|
|
global
|
|
log 127.0.0.1 local0
|
|
maxconn 4096
|
|
daemon
|
|
|
|
defaults
|
|
mode http
|
|
log global
|
|
option httplog
|
|
timeout connect 10s
|
|
timeout client 30s
|
|
timeout server 30s
|
|
|
|
frontend https_frontend
|
|
bind *:443 ssl crt /etc/haproxy/certs/cyberhybridhub.pem alpn h2,http/1.1
|
|
http-response set-header Strict-Transport-Security "max-age=15768000"
|
|
acl host_cyberhybridhub hdr(host) -i cyberhybridhub.com
|
|
acl host_www hdr(host) -i www.cyberhybridhub.com
|
|
acl host_mygit hdr(host) -i mygit.cyberhybridhub.com
|
|
acl path_api path_beg /v1 /hubs
|
|
http-request deny deny_status 403 if !host_cyberhybridhub !host_www !host_mygit
|
|
use_backend cyberhybridhub_api if host_cyberhybridhub path_api
|
|
use_backend cyberhybridhub_api if host_www path_api
|
|
use_backend cyberhybridhub_backend if host_cyberhybridhub
|
|
use_backend cyberhybridhub_backend if host_www
|
|
use_backend mygit_http if host_mygit
|
|
|
|
backend cyberhybridhub_backend
|
|
mode http
|
|
option forwardfor
|
|
http-request set-header X-Forwarded-Proto https if { ssl_fc }
|
|
server cyberhybridhub_server 10.10.101.106:80 check
|
|
|
|
backend cyberhybridhub_api
|
|
mode http
|
|
option forwardfor
|
|
http-request set-header X-Forwarded-Proto https if { ssl_fc }
|
|
timeout tunnel 1h
|
|
server api 10.10.101.106:3000 check
|
|
|
|
backend mygit_http
|
|
mode http
|
|
option forwardfor
|
|
http-request set-header X-Forwarded-Proto https if { ssl_fc }
|
|
server mygit_server 10.10.101.5:80 check
|
|
|
|
frontend http_redirect
|
|
bind *:80
|
|
mode http
|
|
http-request redirect scheme https code 301
|