diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index 009295f20e9..67da9a1de66 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -507,9 +507,10 @@ include_dir 'conf.d' In addition to the postgresql.conf file already mentioned, PostgreSQL uses - two other manually-edited configuration files, which control + three other manually-edited configuration files, which control client authentication (their use is discussed in ). By default, all three + linkend="client-authentication"/>) and SSL host configuration. + By default, all four configuration files are stored in the database cluster's data directory. The parameters described in this section allow the configuration files to be placed elsewhere. (Doing so can ease @@ -579,6 +580,22 @@ include_dir 'conf.d' + + hosts_file (string) + + hosts_file configuration parameter + + + + + Specifies the configuration file for host-based SSL configuration + (customarily called pg_hosts.conf). + This parameter can only be set at server start. See also + . + + + + external_pid_file (string) @@ -620,10 +637,11 @@ include_dir 'conf.d' If you wish, you can specify the configuration file names and locations individually using the parameters config_file, - hba_file and/or ident_file. + hba_file, ident_file and/or + hosts_file. config_file can only be specified on the postgres command line, but the others can be - set within the main configuration file. If all three parameters plus + set within the main configuration file. If all four parameters plus data_directory are explicitly set, then it is not necessary to specify or PGDATA. @@ -1734,6 +1752,25 @@ include_dir 'conf.d' + + + ssl_sni (boolean) + + ssl_sni configuration parameter + + + + + Enables SNI configuration for SSL connections. When set to on + host configuration from is used, see + for more details. + + + This parameter can only be set in the postgresql.conf + file or on the server command line. The default is off. + + + diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml index 8576ae325d4..b01e74638c4 100644 --- a/doc/src/sgml/runtime.sgml +++ b/doc/src/sgml/runtime.sgml @@ -2602,18 +2602,16 @@ openssl x509 -req -in server.csr -text -days 365 \ PostgreSQL can be configured for Server Name - Indication, SNI, using the pg_hosts.conf - configuration file. PostgreSQL inspects the TLS - hostname extension in the SSL connection handshake, and selects the right - TLS certificate, key and CA certificate to use for the connection based on - entries in the configuration file pg_hosts.conf. + Indication, SNI, using the + configuration parameter. PostgreSQL inspects the + TLS hostname extension in the SSL connection handshake, and selects the + right certificate, key and CA certificate to use for the connection based + on entries in the configuration file. - SNI configuration is defined in the hosts configuration file, - pg_hosts.conf, which is stored in the cluster's - data directory. The hosts configuration file contains lines of these - general forms: + The configuration file contains lines of + these general forms: hostname SSL_certificate SSL_key SSL_CA_certificate SSL_passphrase_cmd SSL_passphrase_cmd_reload include file @@ -2622,8 +2620,9 @@ openssl x509 -req -in server.csr -text -days 365 \ Comments, whitespace, line continuations, and inclusion directives are handled in the same way as - in pg_hba.conf. hostname - is matched against the hostname TLS extension in the SSL handshake. + in . hostname + is matched case-insensitively against the hostname TLS + extension in the SSL handshake. SSL_certificate, SSL_key, SSL_CA_certificate, @@ -2655,7 +2654,7 @@ openssl x509 -req -in server.csr -text -days 365 \ Host Entry - sslsni + Hostname extension Description @@ -2695,9 +2694,9 @@ openssl x509 -req -in server.csr -text -days 365 \ - If pg_hosts.conf is empty or missing, then the SSL + If is empty or missing, then the SSL configuration in postgresql.conf will be used for all - connections. If pg_hosts.conf is non-empty then it + connections. If is non-empty then it will take precedence over certificate and key settings in postgresql.conf. @@ -2705,7 +2704,7 @@ openssl x509 -req -in server.csr -text -days 365 \ It is currently not possible to set different clientname values for the different certificates. Any clientname - setting in pg_hba.conf will be applied during + setting in will be applied during authentication regardless of which set of certificates have been loaded via an SNI enabled connection.