Configure servers for Tessera API
You can configure the servers for the Tessera API in the Tessera configuration file.
Specify the servers to be started as a list in serverConfigs.
Server configuration
"serverConfigs": [
<server settings>
]
Server addresses
The server configuration has two address entries:
serverAddress- Address of the server. This can be specified as an IP address or a DNS name.bindingAddress- (optional) Endpoint to use for the binding. Specify to bind to an internal IP while advertising an external IP usingserverAddress.
Each server is individually configured and can advertise over HTTP, HTTPS, or a Unix Socket.
You can also configure CORS for the ThirdParty server type.
HTTP server configuration
- Syntax
- ThirdParty example
{
"app": "<app type>",
"serverAddress": "http://[host]:[port]/[path]",
"communicationType": "REST"
}
{
"app": "ThirdParty",
"serverAddress": "http://localhost:9081",
"communicationType": "REST"
}
HTTPS server configuration
- Syntax
- P2P example
{
"app": "<app type>",
"serverAddress": "https://[host]:[port]/[path]",
"communicationType" : "REST",
"sslConfig": {
<SSL settings>
}
}
{
"app": "P2P",
"serverAddress": "http://localhost:9001",
"sslConfig": {
"tls": "enum STRICT,OFF",
"generateKeyStoreIfNotExisted": "boolean",
"serverKeyStore": "Path",
"serverTlsKeyPath": "Path",
"serverTlsCertificatePath": "Path",
"serverKeyStorePassword": "String",
"serverTrustStore": "Path",
"serverTrustCertificates": ["Path"],
"serverTrustStorePassword": "String",
"serverTrustMode": "TOFU",
"clientKeyStore": "Path",
"clientTlsKeyPath": "Path",
"clientTlsCertificatePath": "Path",
"clientKeyStorePassword": "String",
"clientTrustStore": "Path",
"clientTrustCertificates": ["Path"],
"clientTrustStorePassword": "String",
"clientTrustMode": "TOFU",
"knownClientsFile": "Path",
"knownServersFile": "Path"
},
"communicationType": "REST",
"properties": {
"partyInfoInterval": "Long",
"enclaveKeySyncInterval": "Long",
"syncInterval": "Long",
"resendWaitTime": "Long"
}
}
Unix socket server configuration
- Syntax
- Q2T example
{
"app": "<app type>",
"serverAddress": "unix://[path]",
"communicationType": "REST"
}
{
"app": "Q2T",
"serverAddress": "unix:/tmp/tm.ipc",
"communicationType": "REST"
}
Configure CORS
The ThirdParty server type supports configuring CORS to control access to resources.
ThirdParty CORS configuration
{
"app": "ThirdParty",
"serverAddress": "http://localhost:9081",
"communicationType": "REST",
"cors": {
"allowedMethods": ["GET", "POST", "PUT", "DELETE", "OPTIONS", "HEAD"],
"allowedOrigins": ["http://localhost:63342"],
"allowedHeaders": ["content-type"],
"allowCredentials": true
}
}