Matrix Docker Ansible eploy
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 

86 rindas
3.1 KiB

  1. # SPDX-FileCopyrightText: 2019 MDAD project contributors
  2. # SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev
  3. #
  4. # SPDX-License-Identifier: AGPL-3.0-or-later
  5. global
  6. log /dev/log local0
  7. log /dev/log local1 notice
  8. chroot /var/lib/haproxy
  9. stats socket /run/haproxy/admin.sock mode 660 level admin
  10. stats timeout 30s
  11. user haproxy
  12. group haproxy
  13. daemon
  14. # Default SSL material locations
  15. ca-base /etc/ssl/certs
  16. crt-base /etc/ssl/private
  17. # Default ciphers to use on SSL-enabled listening sockets.
  18. # For more information, see ciphers(1SSL). This list is from:
  19. # https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/
  20. ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS
  21. ssl-default-bind-options no-sslv3
  22. defaults
  23. log global
  24. mode http
  25. option httplog
  26. option dontlognull
  27. option forwardfor
  28. option redispatch
  29. timeout connect 5000
  30. timeout client 50000
  31. timeout server 50000
  32. errorfile 400 /etc/haproxy/errors/400.http
  33. errorfile 403 /etc/haproxy/errors/403.http
  34. errorfile 408 /etc/haproxy/errors/408.http
  35. errorfile 500 /etc/haproxy/errors/500.http
  36. errorfile 502 /etc/haproxy/errors/502.http
  37. errorfile 503 /etc/haproxy/errors/503.http
  38. errorfile 504 /etc/haproxy/errors/504.http
  39. frontend https-frontend
  40. bind *:80
  41. # HAproxy wants the full chain and the private key in one file. For Letsencrypt manually generated certs (e.g., wildcard certs) you can use
  42. # cat /etc/letsencrypt/live/example.com/fullchain.pem /etc/letsencrypt/live/example.com/privkey.pem > /etc/haproxy/certs/star-example.com.pem
  43. bind *:443 ssl crt /etc/haproxy/certs/star-example.com.pem
  44. #bind *:443 ssl crt /etc/haproxy/certs/element.example.com.pem /etc/haproxy/certs/matrix.example.com.pem
  45. reqadd X-Forwarded-Proto:\ https
  46. option httplog
  47. option http-server-close
  48. # You can do per-domain routing (as shown above),
  49. # or just send everything to the same backend via `default_backend`.
  50. acl matrix_domain hdr_dom(host) -i matrix.example.com
  51. use_backend matrix-main if matrix_domain
  52. acl matrix_domain hdr_dom(host) -i element.example.com
  53. use_backend matrix-main if matrix_domain
  54. #default_backend matrix-main
  55. frontend matrix-federation
  56. bind *:8448 ssl crt /etc/haproxy/certs/star-example.com.pem
  57. reqadd X-Forwarded-Proto:\ https
  58. option httplog
  59. option http-server-close
  60. default_backend synapse
  61. backend matrix-main
  62. server matrix-main 127.0.0.1:81 check
  63. backend matrix-federation
  64. server matrix-federation 127.0.0.1:8049 check
  65. backend nginx-static
  66. capture request header origin len 128
  67. http-response add-header Access-Control-Allow-Origin *
  68. rspadd Access-Control-Allow-Methods:\ GET,\ HEAD,\ OPTIONS,\ POST,\ PUT if { capture.req.hdr(0) -m found }
  69. rspadd Access-Control-Allow-Credentials:\ true if { capture.req.hdr(0) -m found }
  70. rspadd Access-Control-Allow-Headers:\ Origin,\ Accept,\ X-Requested-With,\ Content-Type,\ Access-Control-Request-Method,\ Access-Control-Request-Headers,\ Authorization if { capture.req.hdr(0) -m found }
  71. server nginx 127.0.0.1:40888 check
  72. backend element
  73. server element 127.0.0.1:8765 check