<!-- review: finished -->

<a id="stream-acme"></a>

# ACME

Permite la adquisición automática de certificados
utilizando el protocolo [ACME](https://datatracker.ietf.org/doc/html/rfc8555)
para servidores definidos en el contexto `stream`.

Al [compilar desde el código fuente](https://es.angie.software//angie/docs/installation/sourcebuild.md#sourcebuild),
el módulo no se compila por defecto; debe ser
habilitado con el [parámetro de compilación](https://es.angie.software//angie/docs/installation/sourcebuild.md#configure)
`--with-stream_acme_module`
(también requiere `--with-http_acme_module`).
En paquetes e imágenes de [nuestros repositorios](https://es.angie.software//angie/docs/installation/index.md#install-packages),
el módulo está incluido en la compilación.

#### NOTE
Para un correcto funcionamiento, el bloque `stream`
debe ubicarse después del bloque `http`.
Esto se debe a que el módulo stream utiliza definiciones de cliente
creadas durante el análisis de la configuración HTTP.

<a id="configuration-example-57"></a>

## Ejemplo de configuración

Para ejemplos de configuración e instrucciones de configuración, consulte la
sección [ACME en el módulo Stream](https://es.angie.software//angie/docs/configuration/acme.md#acme-config-stream).

<a id="directives-66"></a>

## Directivas

<a id="index-0"></a>

<a id="s-acme"></a>

### acme

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `acme` name;   |
|--------------------------------------------------------------------------------------------|----------------|
| Predeterminado                                                                             | —              |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | server         |

Para todos los dominios especificados en las directivas [server_name](https://es.angie.software//angie/docs/configuration/modules/stream/index.md#s-server-name)
en todos los bloques [server](https://es.angie.software//angie/docs/configuration/modules/stream/index.md#s-server)
que hagan referencia a un [cliente ACME](https://es.angie.software//angie/docs/configuration/modules/http/http_acme.md#acme-client) del módulo HTTP con el name dado,
se obtendrá un único certificado;
si la configuración de `server_name` cambia,
el certificado se actualizará para reflejar los cambios.

En cada inicio de Angie, se solicitarán nuevos certificados para todos los dominios
que carezcan de un certificado válido.
Las posibles razones incluyen la caducidad del certificado,
archivos faltantes o la imposibilidad de leerlos,
y cambios en la configuración del certificado.

#### NOTE
Actualmente, los dominios especificados mediante expresiones regulares
no son compatibles y serán omitidos.

Los dominios comodín solo son compatibles en el modo `challenge=dns`
en `acme_client`.

Esta directiva puede especificarse varias veces
para cargar certificados de diferentes tipos, por ejemplo RSA y ECDSA:

```nginx
server {

    listen 12345 ssl;
    server_name example.com www.example.com;

    ssl_certificate $acme_cert_rsa;
    ssl_certificate_key $acme_cert_key_rsa;

    ssl_certificate $acme_cert_ecdsa;
    ssl_certificate_key $acme_cert_key_ecdsa;

    acme rsa;
    acme ecdsa;
}
```

<a id="stream-acme-variables"></a>

## Variables integradas

<a id="v-s-acme-cert-name"></a>

### `$acme_cert_<name>`

Contenido del último archivo de certificado (si existe)
obtenido por el cliente con este name.

<a id="v-s-acme-cert-key-name"></a>

### `$acme_cert_key_<name>`

Contenido del archivo de clave del certificado
utilizado por el cliente con este name.

#### NOTE
El archivo del certificado está disponible
solo si el cliente ACME ha obtenido al menos un certificado,
mientras que el archivo de clave está disponible inmediatamente después del inicio.
