Hi,
I'm trying to replace my nginx setup with httpd + relayd.
I want to use relayd for virtual hosts and "TLS acceleration".
I have trouble with my Radicale CalDAV service. Radicale listens on
localhost port 5232. relayd forwards the connection correctly until the
client issues an http PROPFIND request. At that point relayd returns 500
Internal server error. It seems relayd is not happy with webdav requests.
Is there a way to tell it to transparently forward unknown requests?
Here's my old nginx config:
% cat /etc/nginx/sites/radicale.conf
server {
listen 443;
server_name radicale.my.domain;
ssl on;
ssl_certificate /etc/nginx/certs/radicale.crt;
ssl_certificate_key /etc/nginx/certs/radicale.key;
location / {
proxy_pass http://127.0.0.1:5232;
}
}
Here's the replacement relayd config:
% cat /etc/relayd.conf
table <main> { 127.0.0.1 }
table <radicale> { 127.0.0.1 }
hostradicale="radicale.my.domain"
log updates
# Protocols
http protocol "tlsvhosts" {
return error
pass
match request header "Host" value $hostradicale forward to <radicale>
}
# Relay rules
relay tlsaccel {
listen on egress port 443 tls
protocol "tlsvhosts"
forward to <main> port 80 check tcp
forward to <radicale> port 5232 check tcp
}