56 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Nginx Configuration File
		
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Nginx Configuration File
		
	
	
| # vim: ft=nginx
 | |
| server {
 | |
|     listen      80;
 | |
|     listen [::]:80;
 | |
| 
 | |
| 
 | |
|     # =====MATRIX WELL-KNOWN FILES=====
 | |
|     # Used for server federation
 | |
|     location = /.well-known/matrix/server {
 | |
|         charset utf-8;
 | |
|         default_type application/json;
 | |
| 
 | |
|         if ($request_method = 'GET') {
 | |
|             add_header Access-Control-Allow-Origin '*';
 | |
|             add_header Access-Control-Allow-Methods 'GET, POST, PUT, DELETE, OPTIONS';
 | |
|             add_header Access-Control-Allow-Headers 'X-Requested-With, Content-Type, Authorization';
 | |
| 
 | |
|             return 200 '{"m.server":"${MATRIX_SERVER}"}';
 | |
|         }
 | |
| 
 | |
|         if ($request_method = 'OPTIONS') {
 | |
|             add_header Access-Control-Allow-Origin '*';
 | |
|             add_header Access-Control-Allow-Methods 'GET, POST, PUT, DELETE, OPTIONS';
 | |
|             add_header Access-Control-Allow-Headers 'X-Requested-With, Content-Type, Authorization';
 | |
|             add_header 'Content-Length' 0;
 | |
|             return 204;
 | |
|         }
 | |
| 
 | |
|         return 405;
 | |
|     }
 | |
| 
 | |
|     location = /.well-known/matrix/client {
 | |
|         charset utf-8;
 | |
|         default_type application/json;
 | |
| 
 | |
|         if ($request_method = 'GET') {
 | |
|             add_header Access-Control-Allow-Origin '*';
 | |
|             add_header Access-Control-Allow-Methods 'GET, POST, PUT, DELETE, OPTIONS';
 | |
|             add_header Access-Control-Allow-Headers 'X-Requested-With, Content-Type, Authorization';
 | |
| 
 | |
|             return 200 '{"m.homeserver":{"base_url":"${MATRIX_CLIENT_SERVER}"}}';
 | |
|         }
 | |
| 
 | |
|         if ($request_method = 'OPTIONS') {
 | |
|             add_header Access-Control-Allow-Origin '*';
 | |
|             add_header Access-Control-Allow-Methods 'GET, POST, PUT, DELETE, OPTIONS';
 | |
|             add_header Access-Control-Allow-Headers 'X-Requested-With, Content-Type, Authorization';
 | |
|             add_header 'Content-Length' 0;
 | |
|             return 204;
 | |
|         }
 | |
| 
 | |
|         return 405;
 | |
|     }
 | |
| 
 | |
| }
 |