Matrix Docker Ansible eploy
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

85 строки
3.1 KiB

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