You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							153 lines
						
					
					
						
							4.6 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							153 lines
						
					
					
						
							4.6 KiB
						
					
					
				| # Put this file to one of the location, with descending priority | |
| #    ./security.toml | |
| #    $HOME/.seaweedfs/security.toml | |
| #    /etc/seaweedfs/security.toml | |
| # this file is read by master, volume server, filer, and worker | |
| 
 | |
| # comma separated origins allowed to make requests to the filer and s3 gateway.  | |
| # enter in this format: https://domain.com, or http://localhost:port | |
| [cors.allowed_origins] | |
| values = "*" | |
| 
 | |
| # this jwt signing key is read by master and volume server, and it is used for write operations: | |
| # - the Master server generates the JWT, which can be used to write a certain file on a volume server | |
| # - the Volume server validates the JWT on writing | |
| # the jwt defaults to expire after 10 seconds. | |
| [jwt.signing] | |
| key = "" | |
| expires_after_seconds = 10           # seconds | |
| 
 | |
| # by default, if the signing key above is set, the Volume UI over HTTP is disabled. | |
| # by setting ui.access to true, you can re-enable the Volume UI. Despite | |
| # some information leakage (as the UI is not authenticated), this should not | |
| # pose a security risk. | |
| [access] | |
| ui = false | |
| 
 | |
| # by default the filer UI is enabled. This can be a security risk if the filer is exposed to the public | |
| # and the JWT for reads is not set. If you don't want the public to have access to the objects in your | |
| # storage, and you haven't set the JWT for reads it is wise to disable access to directory metadata. | |
| # This disables access to the Filer UI, and will no longer return directory metadata in GET requests. | |
| [filer.expose_directory_metadata] | |
| enabled = true | |
| 
 | |
| # this jwt signing key is read by master and volume server, and it is used for read operations: | |
| # - the Master server generates the JWT, which can be used to read a certain file on a volume server | |
| # - the Volume server validates the JWT on reading | |
| # NOTE: jwt for read is only supported with master+volume setup. Filer does not support this mode. | |
| [jwt.signing.read] | |
| key = "" | |
| expires_after_seconds = 10           # seconds | |
| 
 | |
| 
 | |
| # If this JWT key is configured, Filer only accepts writes over HTTP if they are signed with this JWT: | |
| # - f.e. the S3 API Shim generates the JWT | |
| # - the Filer server validates the JWT on writing | |
| # the jwt defaults to expire after 10 seconds. | |
| [jwt.filer_signing] | |
| key = "" | |
| expires_after_seconds = 10           # seconds | |
| 
 | |
| # If this JWT key is configured, Filer only accepts reads over HTTP if they are signed with this JWT: | |
| # - f.e. the S3 API Shim generates the JWT | |
| # - the Filer server validates the JWT on writing | |
| # the jwt defaults to expire after 10 seconds. | |
| [jwt.filer_signing.read] | |
| key = "" | |
| expires_after_seconds = 10           # seconds | |
| 
 | |
| # all grpc tls authentications are mutual | |
| # the values for the following ca, cert, and key are paths to the PERM files. | |
| # the host name is not checked, so the PERM files can be shared. | |
| [grpc] | |
| ca = "" | |
| # Set wildcard domain for enable TLS authentication by common names | |
| allowed_wildcard_domain = "" # .mycompany.com | |
| 
 | |
| [grpc.volume] | |
| cert = "" | |
| key = "" | |
| allowed_commonNames = ""    # comma-separated SSL certificate common names | |
| 
 | |
| [grpc.master] | |
| cert = "" | |
| key = "" | |
| allowed_commonNames = ""    # comma-separated SSL certificate common names | |
| 
 | |
| [grpc.filer] | |
| cert = "" | |
| key = "" | |
| allowed_commonNames = ""    # comma-separated SSL certificate common names | |
| 
 | |
| [grpc.s3] | |
| cert = "" | |
| key = "" | |
| allowed_commonNames = ""    # comma-separated SSL certificate common names | |
| 
 | |
| [grpc.msg_broker] | |
| cert = "" | |
| key = "" | |
| allowed_commonNames = ""    # comma-separated SSL certificate common names | |
| 
 | |
| [grpc.msg_agent] | |
| cert = "" | |
| key = "" | |
| allowed_commonNames = ""    # comma-separated SSL certificate common names | |
| 
 | |
| [grpc.admin] | |
| cert = "" | |
| key = "" | |
| allowed_commonNames = ""    # comma-separated SSL certificate common names | |
| 
 | |
| [grpc.worker] | |
| cert = "" | |
| key = "" | |
| allowed_commonNames = ""    # comma-separated SSL certificate common names | |
| 
 | |
| [grpc.mq] | |
| cert = "" | |
| key = "" | |
| allowed_commonNames = ""    # comma-separated SSL certificate common names | |
| 
 | |
| # use this for any place needs a grpc client | |
| # i.e., "weed backup|benchmark|filer.copy|filer.replicate|mount|s3|upload" | |
| [grpc.client] | |
| cert = "" | |
| key = "" | |
| 
 | |
| # https client for master|volume|filer|etc connection | |
| # It is necessary that the parameters  [https.volume]|[https.master]|[https.filer]|[https.admin] are set | |
| [https.client] | |
| enabled = false | |
| cert = "" | |
| key = "" | |
| ca = "" | |
| 
 | |
| # volume server https options | |
| [https.volume] | |
| cert = "" | |
| key = "" | |
| ca = "" | |
| 
 | |
| # master server https options | |
| [https.master] | |
| cert = "" | |
| key = "" | |
| ca = "" | |
| 
 | |
| # filer server https options | |
| [https.filer] | |
| cert = "" | |
| key = "" | |
| ca = "" | |
| # disable_tls_verify_client_cert = true|false (default: false) | |
| 
 | |
| # admin server https options | |
| [https.admin] | |
| cert = "" | |
| key = "" | |
| ca = "" | |
| 
 | |
| # white list. It's checking request ip address. | |
| [guard] | |
| white_list = ""
 |