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