2
0

meet.conf 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. {{ $XMPP_BOSH_URL_BASE := .Env.XMPP_BOSH_URL_BASE | default "http://xmpp.meet.jitsi:5280" -}}
  2. {{ $ENABLE_SUBDOMAINS := .Env.ENABLE_SUBDOMAINS | default "false" | toBool -}}
  3. server_name _;
  4. client_max_body_size 0;
  5. root /usr/share/jitsi-meet;
  6. index index.html;
  7. error_page 404 /static/404.html;
  8. access_log /dev/stdout;
  9. error_log /dev/stderr;
  10. set $prefix "";
  11. ssi on;
  12. ssi_types application/x-javascript application/javascript;
  13. location = /config.js {
  14. alias /config/config.js;
  15. }
  16. location = /interface_config.js {
  17. alias /config/interface_config.js;
  18. }
  19. location = /external_api.js {
  20. alias /usr/share/jitsi-meet/libs/external_api.min.js;
  21. }
  22. {{ if .Env.ENABLE_BOSH_PROXY }}
  23. location = /http-bind {
  24. proxy_pass {{ $XMPP_BOSH_URL_BASE }}/http-bind;
  25. proxy_set_header X-Forwarded-For $remote_addr;
  26. proxy_set_header Host {{ .Env.XMPP_DOMAIN }};
  27. }
  28. {{ if .Env.ENABLE_WEBSOCKETS }}
  29. location = /xmpp-websocket {
  30. proxy_pass {{ $XMPP_BOSH_URL_BASE }}/xmpp-websocket;
  31. proxy_http_version 1.1;
  32. proxy_set_header Upgrade $http_upgrade;
  33. proxy_set_header Connection "upgrade";
  34. proxy_set_header X-Forwarded-For $remote_addr;
  35. proxy_set_header Host {{ .Env.XMPP_DOMAIN }};
  36. }
  37. {{ end }}
  38. {{ else }}
  39. {{ if .Env.ENABLE_BOSH_REDIRECT }}
  40. location = /http-bind {
  41. return 404;
  42. }
  43. {{ if .Env.ENABLE_WEBSOCKETS }}
  44. location = /xmpp-websocket {
  45. return 404;
  46. }
  47. {{ end }}
  48. {{ end }}
  49. {{ end }}
  50. {{ if .Env.ETHERPAD_URL_BASE }}
  51. # Etherpad-lite
  52. location = /etherpad/ {
  53. proxy_http_version 1.1;
  54. proxy_set_header Upgrade $http_upgrade;
  55. proxy_set_header Connection 'upgrade';
  56. proxy_set_header Host $host;
  57. proxy_cache_bypass $http_upgrade;
  58. proxy_pass {{ .Env.ETHERPAD_URL_BASE }}/;
  59. proxy_set_header X-Forwarded-For $remote_addr;
  60. proxy_buffering off;
  61. proxy_set_header Host {{ .Env.XMPP_DOMAIN }};
  62. }
  63. {{ end }}
  64. location ~ ^/([^/?&:'"]+)$ {
  65. try_files $uri @root_path;
  66. }
  67. location @root_path {
  68. rewrite ^/(.*)$ / break;
  69. }
  70. location = / {
  71. ssi on;
  72. }
  73. {{ if $ENABLE_SUBDOMAINS }}
  74. location ~ ^/([^/?&:'"]+)/config.js$
  75. {
  76. set $subdomain "$1.";
  77. set $subdir "$1/";
  78. add_header 'Access-Control-Allow-Origin' '*';
  79. add_header 'Access-Control-Expose-Headers' "Content-Type, X-Jitsi-Region, X-Jitsi-Shard, X-Proxy-Region";
  80. alias /config/config.js;
  81. }
  82. location ~ ^/([^/?&:'"]+)/interface_config.js$
  83. {
  84. set $subdomain "$1.";
  85. set $subdir "$1/";
  86. add_header 'Access-Control-Allow-Origin' '*';
  87. add_header 'Access-Control-Expose-Headers' "Content-Type, X-Jitsi-Region, X-Jitsi-Shard, X-Proxy-Region";
  88. alias /config/interface_config.js;
  89. }
  90. location ~ ^/([^/?&:'"]+)/libs/lib-jitsi-meet.min.js
  91. {
  92. set $subdomain "$1.";
  93. set $subdir "$1/";
  94. add_header 'Access-Control-Allow-Origin' '*';
  95. add_header 'Access-Control-Expose-Headers' "Content-Type, X-Jitsi-Region, X-Jitsi-Shard, X-Proxy-Region";
  96. alias /usr/share/jitsi-meet/libs/lib-jitsi-meet.min.js;
  97. }
  98. location ~ ^/([^/?&:'"]+)/external_api.js {
  99. alias /usr/share/jitsi-meet/libs/external_api.min.js;
  100. }
  101. # Anything that didn't match above, and isn't a real file, assume it's a room name and redirect to /
  102. # location ~ ^/([^/?&:'"]+)/(.*)$ {
  103. # set $subdomain "$1.";
  104. # set $subdir "$1/";
  105. # rewrite ^/([^/?&:'"]+)/(.*)$ /$2;
  106. # }
  107. # # BOSH for subdomains
  108. # location ~ ^/([^/?&:'"]+)/http-bind {
  109. # set $subdomain "$1.";
  110. # set $subdir "$1/";
  111. # set $prefix "$1";
  112. # rewrite ^/(.*)$ /http-bind;
  113. # }
  114. # # websockets for subdomains
  115. # location ~ ^/([^/?&:'"]+)/xmpp-websocket {
  116. # set $subdomain "$1.";
  117. # set $subdir "$1/";
  118. # set $prefix "$1";
  119. # rewrite ^/(.*)$ /xmpp-websocket;
  120. # }
  121. {{ end }}