remove online letsencrypt generate custom ssl heroku

ssl - custom - letsencrypt generate certificate online



Varios certificados SSL en una aplicaciĆ³n de Heroku (5)

Aunque no es exactamente lo mismo que la pregunta de OP, pude lograr esto en Heroku con un certificado único de SAN (nombre alternativo del sujeto) por unos $ 25 / año.

Genere una CSR con varios nombres alternativos de sujeto ( subjectAltName ) en OSX de la siguiente manera:

  1. Copiando /System/Library/OpenSSL/openssl.cnf en el directorio actual, y modificando las secciones relevantes ( [req] y [v3_req] ):

    [req] req_extensions = v3_req [v3_req] subjectAltName=DNS:www.example1.com,DNS:www.example2.com,DNS:www.example3.com

  2. Luego usé este nuevo .cnf al generar el CSR:

    openssl req -nodes -newkey rsa:2048 -keyout server.key -out server.csr -config openssl.cnf

  3. Compré el certificado de SSLs.com. Su Comodo "PositiveSSL Multi-Domain" tiene un valor de $ 25.99 / año a partir de esta redacción y admite de 3 a 100 dominios (dominios de más de 3 cuestan aproximadamente $ 12).

  4. Concatené el paquete CA y .crt que me enviaron a un .crt único (en ese orden) y lo agregué a Heroku. Los 3 dominios se agregaron a la aplicación y señalaron el mismo CNAME, y todos resuelven sobre https: // como se esperaba.

Mucho más barato que $ 240 / año para un punto final adicional, si esta es una ruta viable para cualquier persona interesada.

Enlaces relevantes:

¿Es posible tener muchos certificados SSL en la única aplicación Heroku?

Tenemos varios nombres de dominio de diferentes tipos y TLD que apuntan a nuestra aplicación y necesitamos asegurar cada nombre de dominio. Preferiblemente sin redirigir a una URL segura diferente.



Existe una forma de tener múltiples endpoints SSL enrutando el tráfico hacia la misma aplicación.

Un punto final SSL funciona al terminar la conexión SSL e inyectar el tráfico no encriptado de nuevo a la capa de enrutamiento normal de Heroku.

Puede aprovechar esto al crear una nueva aplicación con un nuevo punto final SSL para finalizar la conexión SSL y enrutar el tráfico a su aplicación existente:

  1. Agregue su nombre de dominio a su aplicación:

    $ heroku domains:add ssl.example.com

  2. Crea una nueva aplicación:

    $ heroku create endpoint-for-example-com

  3. Agregue el complemento de punto final SSL ($ 20 / mes):

    $ heroku addons:create ssl:endpoint --app endpoint-for-example-com

  4. Agregue su certificado a su nueva aplicación:

    $ heroku certs:add server.crt bundle.pem server.key --app endpoint-for-example-com Resolving trust chain... done Adding SSL Endpoint to endpoint-for-example-com... done endpoint-for-example-com now served by kagawa-1482.herokussl.example.com

  5. Utilice el punto final ssl asignado a su nueva aplicación (por ejemplo, kagawa-1482.herokussl.example.com ) como el host CNAME para el nombre de dominio que desea proteger. Esto normalmente se hace en la configuración DNS de su dominio.

La nueva aplicación no necesita ningún dinners, pero habrá un cargo de $ 20 / mes por el complemento SSL endpoint.

Notas:

  • Esta solución no está documentada por Heroku, por lo que es posible que eliminen o modifiquen este comportamiento en el futuro. Heroku ha confirmado que esto es seguro para el uso en producción.
  • Asegúrese de crear sus puntos finales en la misma región que su aplicación principal.
  • Puede tomar algún tiempo para que los cambios en su DNS entren en vigencia.

Recientemente heroku ha agregado certificados LetsEncrypt TLS automáticos para dynos pagos, pasatiempos y más. Esto funcionará en cualquier cantidad de dominios y subdominios automáticamente. Este método solo funciona si no necesita subdominios de comodines.

Además, puede administrar la certificación LE usted mismo en múltiples dominios y subdominios, con certbot

certbot certonly --standalone -d example.com -d www.example.com -d test.net

Puede consultar este documento heroku para cargar certificados personalizados.


Tenemos múltiples nombres de dominio que pertenecen a varias compañías. Un certificado SAN / UCC solo está disponible para nombres de dominio propiedad de la misma entidad / compañía / individuo. Creamos un iFrame en segundo plano como una solución rápida, pero desde entonces hemos trasladado nuestra plataforma a nuestra propia infraestructura.