Enabling HTTPS
The Data Collector engine uses direct engine REST APIs and HTTPS for secure communication. By default, inbound connections to the Data Collector engine use HTTPS on port 18630. The engine provides a self-signed SSL/TLS certificate so you can start building flows immediately.
However, using the self-signed certificate is not recommended for production or long-term development.
For information about outbound security, see SSL/TLS encryption.
Prerequisite tasks
To enable more secure engine communication, complete the following prerequisite tasks:
- Obtain access to OpenSSL and Java keytool
- If you do not have a keystore file that includes an SSL/TLS certificate signed by a certificate
authority (CA), you can request a certificate and create the keystore file using the following
tools:
- OpenSSL - Use OpenSSL to create a Certificate Signing Request (CSR) that you send to the CA of your choice, as well as to create the keystore files. For more information, see the OpenSSL documentation.
- Java keytool - You can also use Java keytool to create a CSR and to create the keystore files. Java keytool is part of the Java Development Kit (JDK). For more information, see the keytool documentation.
- Generate the SSL/TLS certificate and private key pairs signed by a certificate authority (CA)
- Generate a single private key and public certificate pair for the engine. The engine uses a self-signed certificate by default. However, web browsers generally issue a warning for self-signed certificates. As a best practice, generate a key and certificate pair signed by a trusted CA.
Step 1. Create a keystore file
About this task
Though the Data Collector engine uses a self-signed SSL/TLS certificate by default, create a custom keystore file for a higher level of security.
Create a keystore file that includes each private key and public certificate pair signed by the certificate authority (CA). A keystore is used to verify the identity of the client upon a request from an SSL/TLS server.
Create all keystores in the PKCS #12 (p12 file) format. In most cases, a CA issues certificates in PEM format. Use OpenSSL to directly import the certificate into a PKCS #12 keystore.
Procedure
Step 2. Configure engines to use the keystore file
About this task
To enable the engine to use the keystore and keystore password text files that you created, add advanced configuration properties to the StreamSets environment for the engine.
Procedure
Step 3. Mount the keystore file
About this task
To enable Data Collector to use the keystore and keystore password files, edit the StreamSets environment to customize the engine run command. Add a mount option to the command, then run the customized command to restart the engine.