Make next.hamburg.ccc.de hamburg.ccc.de and add redirects to handle URLs of the old website deployment properly. Also redirect the old spaceapi endpoint to the new one. Add staging.hamburg.ccc.de for hosting upcoming changes (PRs). Also give it a robots.txt, since its contents don't need to show up in search engines. Add www.hamburg.ccc.de and let it redirect to hamburg.ccc.de.
		
			
				
	
	
		
			46 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| { pkgs, ... }:
 | |
| 
 | |
| {
 | |
|   services.nginx.virtualHosts = {
 | |
|     "acme-www.hamburg.ccc.de" = {
 | |
|       enableACME = true;
 | |
|       serverName = "www.hamburg.ccc.de";
 | |
| 
 | |
|       listen = [
 | |
|         {
 | |
|           addr = "0.0.0.0";
 | |
|           port = 31820;
 | |
|         }
 | |
|       ];
 | |
|     };
 | |
| 
 | |
|     "www.hamburg.ccc.de" = {
 | |
|       forceSSL = true;
 | |
|       useACMEHost = "www.hamburg.ccc.de";
 | |
| 
 | |
|       listen = [
 | |
|         {
 | |
|           addr = "0.0.0.0";
 | |
|           port = 8443;
 | |
|           ssl = true;
 | |
|           proxyProtocol = true;
 | |
|         }
 | |
|       ];
 | |
| 
 | |
|       locations."/" = {
 | |
|         return = "302 https://hamburg.ccc.de$request_uri";
 | |
|       };
 | |
| 
 | |
|       extraConfig = ''
 | |
|         # Make use of the ngx_http_realip_module to set the $remote_addr and
 | |
|         # $remote_port to the client address and client port, when using proxy
 | |
|         # protocol.
 | |
|         # First set our proxy protocol proxy as trusted.
 | |
|         set_real_ip_from 172.31.17.140;
 | |
|         # Then tell the realip_module to get the addreses from the proxy protocol
 | |
|         # header.
 | |
|         real_ip_header proxy_protocol;
 | |
|       '';
 | |
|     };
 | |
|   };
 | |
| }
 |