@@ -431,6 +431,8 @@ The `host` parameter must contain a scheme, host, port (e.g.
431
431
The `username` and `password` parameters are optional, and when they are present `_reindex`
432
432
will connect to the remote Elasticsearch node using basic auth. Be sure to use `https` when
433
433
using basic auth or the password will be sent in plain text.
434
+ There are a range of <<reindex-ssl,settings>> available to configure the behaviour of the
435
+ `https` connection.
434
436
435
437
Remote hosts have to be explicitly whitelisted in elasticsearch.yaml using the
436
438
`reindex.remote.whitelist` property. It can be set to a comma delimited list
@@ -522,6 +524,99 @@ POST _reindex
522
524
// TEST[s/^/PUT source\n/]
523
525
// TEST[s/otherhost:9200/\${host}/]
524
526
527
+ [float]
528
+ [[reindex-ssl]]
529
+ ==== Configuring SSL parameters
530
+
531
+ Reindex from remote supports configurable SSL settings. These must be
532
+ specified in the `elasticsearch.yml` file, with the exception of the
533
+ secure settings, which you add in the Elasticsearch keystore.
534
+ It is not possible to configure SSL in the body of the `_reindex` request.
535
+
536
+ The following settings are supported:
537
+
538
+ `reindex.ssl.certificate_authorities`::
539
+ List of paths to PEM encoded certificate files that should be trusted.
540
+ You cannot specify both `reindex.ssl.certificate_authorities` and
541
+ `reindex.ssl.truststore.path`.
542
+
543
+ `reindex.ssl.truststore.path`::
544
+ The path to the Java Keystore file that contains the certificates to trust.
545
+ This keystore can be in "JKS" or "PKCS#12" format.
546
+ You cannot specify both `reindex.ssl.certificate_authorities` and
547
+ `reindex.ssl.truststore.path`.
548
+
549
+ `reindex.ssl.truststore.password`::
550
+ The password to the truststore (`reindex.ssl.truststore.path`).
551
+ This setting cannot be used with `reindex.ssl.truststore.secure_password`.
552
+
553
+ `reindex.ssl.truststore.secure_password` (<<secure-settings,Secure>>)::
554
+ The password to the truststore (`reindex.ssl.truststore.path`).
555
+ This setting cannot be used with `reindex.ssl.truststore.password`.
556
+
557
+ `reindex.ssl.truststore.type`::
558
+ The type of the truststore (`reindex.ssl.truststore.path`).
559
+ Must be either `jks` or `PKCS12`. If the truststore path ends in ".p12", ".pfx"
560
+ or "pkcs12", this setting defaults to `PKCS12`. Otherwise, it defaults to `jks`.
561
+
562
+ `reindex.ssl.verification_mode`::
563
+ Indicates the type of verification to protect against man in the middle attacks
564
+ and certificate forgery.
565
+ One of `full` (verify the hostname and the certificate path), `certificate`
566
+ (verify the certificate path, but not the hostname) or `none` (perform no
567
+ verification - this is strongly discouraged in production environments).
568
+ Defaults to `full`.
569
+
570
+ `reindex.ssl.certificate`::
571
+ Specifies the path to the PEM encoded certificate (or certificate chain) to be
572
+ used for HTTP client authentication (if required by the remote cluster)
573
+ This setting requires that `reindex.ssl.key` also be set.
574
+ You cannot specify both `reindex.ssl.certificate` and `reindex.ssl.keystore.path`.
575
+
576
+ `reindex.ssl.key`::
577
+ Specifies the path to the PEM encoded private key associated with the
578
+ certificate used for client authentication (`reindex.ssl.certificate`).
579
+ You cannot specify both `reindex.ssl.key` and `reindex.ssl.keystore.path`.
580
+
581
+ `reindex.ssl.key_passphrase`::
582
+ Specifies the passphrase to decrypt the PEM encoded private key
583
+ (`reindex.ssl.key`) if it is encrypted.
584
+ Cannot be used with `reindex.ssl.secure_key_passphrase`.
585
+
586
+ `reindex.ssl.secure_key_passphrase` (<<secure-settings,Secure>>)::
587
+ Specifies the passphrase to decrypt the PEM encoded private key
588
+ (`reindex.ssl.key`) if it is encrypted.
589
+ Cannot be used with `reindex.ssl.key_passphrase`.
590
+
591
+ `reindex.ssl.keystore.path`::
592
+ Specifies the path to the keystore that contains a private key and certificate
593
+ to be used for HTTP client authentication (if required by the remote cluster).
594
+ This keystore can be in "JKS" or "PKCS#12" format.
595
+ You cannot specify both `reindex.ssl.key` and `reindex.ssl.keystore.path`.
596
+
597
+ `reindex.ssl.keystore.type`::
598
+ The type of the keystore (`reindex.ssl.keystore.path`). Must be either `jks` or `PKCS12`.
599
+ If the keystore path ends in ".p12", ".pfx" or "pkcs12", this setting defaults
600
+ to `PKCS12`. Otherwise, it defaults to `jks`.
601
+
602
+ `reindex.ssl.keystore.password`::
603
+ The password to the keystore (`reindex.ssl.keystore.path`). This setting cannot be used
604
+ with `reindex.ssl.keystore.secure_password`.
605
+
606
+ `reindex.ssl.keystore.secure_password` (<<secure-settings,Secure>>)::
607
+ The password to the keystore (`reindex.ssl.keystore.path`).
608
+ This setting cannot be used with `reindex.ssl.keystore.password`.
609
+
610
+ `reindex.ssl.keystore.key_password`::
611
+ The password for the key in the keystore (`reindex.ssl.keystore.path`).
612
+ Defaults to the keystore password. This setting cannot be used with
613
+ `reindex.ssl.keystore.secure_key_password`.
614
+
615
+ `reindex.ssl.keystore.secure_key_password` (<<secure-settings,Secure>>)::
616
+ The password for the key in the keystore (`reindex.ssl.keystore.path`).
617
+ Defaults to the keystore password. This setting cannot be used with
618
+ `reindex.ssl.keystore.key_password`.
619
+
525
620
[float]
526
621
=== URL Parameters
527
622
0 commit comments