Initial tests are successful. Using web app on Chrome with Linux. I’ll run some more tests with different clients, browsers tonight.
2 Likes
Sounds like you are on track!
Yes that was it! Tested with Chrome, Firefox, Windows PC and cloud file browser with a few GB’s of files. File goes into /opt/seafile/seafile-data/httptemp
and transfers to Mino buckets. Then the temp storage in /opt/seafile/seafile-data/httptemp
gets removed. Just as expected.
Final haproxy config:
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin
stats timeout 30s
maxconn 4096
user haproxy
group haproxy
daemon
defaults
log global
mode tcp
option tcplog
option dontlognull
timeout connect 30s
timeout client 3600s
timeout server 3600s
errorfile 400 /etc/haproxy/errors/400.http
errorfile 403 /etc/haproxy/errors/403.http
errorfile 408 /etc/haproxy/errors/408.http
errorfile 500 /etc/haproxy/errors/500.http
errorfile 502 /etc/haproxy/errors/502.http
errorfile 503 /etc/haproxy/errors/503.http
errorfile 504 /etc/haproxy/errors/504.http
## redirect port 80 to 443
frontend localhost80
bind *:80
mode http
redirect scheme https code 301 if !{ ssl_fc }
## bind 443
frontend localhost443
bind *:443
option tcplog
mode tcp
acl tls req.ssl_hello_type 1
tcp-request inspect-delay 5s
tcp-request content accept if tls
## create acl for sni names
acl is_seafile-test req.ssl_sni -i seafile-test.mydomain.com
## which backend to use for requests
use_backend seafile-test if is_seafile-test
## backend lxc containers
backend seafile-test
mode tcp
server is_seafile-test seafile-test.lxd:443 check
Just in case someone find this post and is trying to use seafile behind haproxy
@wthess @shoeper - Thanks for the help and the push in the right direction, very much appreciated. Having seafile as an lxc container and the data storage separate is a huge improvement. I love being able to clone and test seafile configs without the data being touched.
1 Like