32 lines
		
	
	
		
			673 B
		
	
	
	
		
			Caddyfile
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			673 B
		
	
	
	
		
			Caddyfile
		
	
	
	
	
	
| # redirect www to bare domain
 | |
| www.example.com {
 | |
|     redir https://example.com{uri} permanent
 | |
| }
 | |
| 
 | |
| example.com {
 | |
|     # log to stdout, which is captured by journalctl
 | |
|     log {
 | |
|         output stdout
 | |
|         format console
 | |
|     }
 | |
| 
 | |
|     # turn on standard streaming compression
 | |
|     encode gzip zstd
 | |
| 
 | |
|     # reverse proxy /api to :3000
 | |
|     reverse_proxy /api/* localhost:3000
 | |
| 
 | |
|     # serve static files from public folder, but not /api
 | |
|     @notApi {
 | |
|         file {
 | |
|             try_files {path} {path}/ {path}/index.html
 | |
|         }
 | |
|         not path /api/*
 | |
|     }
 | |
|     route {
 | |
|       rewrite @notApi {http.matchers.file.relative}
 | |
|     }
 | |
|     root * /srv/example.com/public/
 | |
|     file_server
 | |
| }
 |