Generate self-signed tls for wstunnel
This commit is contained in:
		
							parent
							
								
									d4338f1861
								
							
						
					
					
						commit
						3a6122784b
					
				| @ -20,21 +20,39 @@ | |||||||
|   # Setup wstunnel server |   # Setup wstunnel server | ||||||
|   services.wstunnel = { |   services.wstunnel = { | ||||||
|     enable = true; |     enable = true; | ||||||
|     servers.wg-tunnel = { |     servers.wg-tunnel = | ||||||
|       enableHTTPS = true; |       let | ||||||
|       listen = { |         tlsFiles = pkgs.stdenvNoCC.mkDerivation { | ||||||
|         host = "0.0.0.0"; |           name = "tls-files"; | ||||||
|         port = 8080; |           phases = [ | ||||||
|  |             "buildPhase" | ||||||
|  |             "installPhase" | ||||||
|  |           ]; | ||||||
|  |           buildPhase = '' | ||||||
|  |             ${pkgs.openssl}/bin/openssl genrsa > privkey.pem | ||||||
|  |             ${pkgs.openssl}/bin/openssl req -new -x509 -key privkey.pem > fullchain.pem | ||||||
|  |           ''; | ||||||
|  |           installPhase = '' | ||||||
|  |             mkdir -p $out | ||||||
|  |             cp privkey.pem fullchain.pem $out/ | ||||||
|  |           ''; | ||||||
|  |         }; | ||||||
|  |       in | ||||||
|  |       { | ||||||
|  |         enableHTTPS = true; | ||||||
|  |         listen = { | ||||||
|  |           host = "0.0.0.0"; | ||||||
|  |           port = 8080; | ||||||
|  |         }; | ||||||
|  |         restrictTo = [ | ||||||
|  |           { | ||||||
|  |             host = "10.10.40.100"; | ||||||
|  |             port = 51820; | ||||||
|  |           } | ||||||
|  |         ]; | ||||||
|  |         tlsCertificate = "${tlsFiles}/fullchain.pem"; | ||||||
|  |         tlsKey = "${tlsFiles}/key.pem"; | ||||||
|       }; |       }; | ||||||
|       restrictTo = [ |  | ||||||
|         { |  | ||||||
|           host = "10.10.40.100"; |  | ||||||
|           port = 51820; |  | ||||||
|         } |  | ||||||
|       ]; |  | ||||||
|       tlsCertificate = "/var/lib/secrets/fullchain.pem"; |  | ||||||
|       tlsKey = "/var/lib/secrets/key.pem"; |  | ||||||
|     }; |  | ||||||
|   }; |   }; | ||||||
|   networking.firewall = { |   networking.firewall = { | ||||||
|     allowedTCPPorts = [ 8080 ]; |     allowedTCPPorts = [ 8080 ]; | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Jan-Bulthuis
						Jan-Bulthuis