{"id":2281,"date":"2020-05-20T08:12:26","date_gmt":"2020-05-20T06:12:26","guid":{"rendered":"https:\/\/geko2.factoryfy.com\/?p=1905"},"modified":"2021-11-03T18:00:54","modified_gmt":"2021-11-03T17:00:54","slug":"nginx-letsencrypt-certbot-docker-alpine","status":"publish","type":"post","link":"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/","title":{"rendered":"Nginx y Letsencrypt con certbot en docker alpine"},"content":{"rendered":"<div class=\"wp-block-codemirror-blocks code-block \"><\/div>\n<p>En este laboratorio aprenderemos c\u00f3mo instalar certbot usando la imagen oficial de docker nginx:alpine y usarla para crear un certificado SSL para nuestro dominio. Ten en cuenta que para que funcione, <strong>debes ser propietario del dominio<\/strong> para el que necesites el certificado y \u00e9ste <strong>debe resolver a la direcci\u00f3n IP p\u00fablica<\/strong> donde est\u00e1 expuesto el contenedor docker.<\/p>\n<h3>ACTUALIZACI\u00d3N 31\/08\/2020<\/h3>\n<p>Los repositorios de software de alpine ya incluyen el paquete certbot y puede ser instalado directamente con apk:<\/p>\n<div class=\"wp-block-codemirror-blocks code-block \">\n<pre class=\"CodeMirror\" data-setting=\"{\">apk add certbot certbot-nginx<\/pre>\n<\/div>\n<h3>Requisitos<\/h3>\n<p>Esta es la parte m\u00e1s complicada cuando se ejecuta certbot en una imagen basada en alpine, para poder instalar el m\u00f3dulo certbot primero tenemos que resolver algunas dependencias. Para ahorrarte la molestia de escribir tu propio Dockerfile, te proporcionamos uno:<\/p>\n<div class=\"wp-block-codemirror-blocks code-block \">\n<pre class=\"CodeMirror\" data-setting=\"{\">FROM nginx:1.20-alpine\r\nRUN apk add python3 python3-dev py3-pip build-base libressl-dev musl-dev libffi-dev rust cargo\r\nRUN pip3 install pip --upgrade\r\nRUN pip3 install certbot-nginx\r\nRUN mkdir \/etc\/letsencrypt<\/pre>\n<\/div>\n<p>Probablemente apreciar\u00e1s que tambi\u00e9n creamos una carpeta para letsencrypt. M\u00e1s adelante montaremos un volumen aqu\u00ed para que los datos de letencrypt sean persistentes y evitaremos perder el certificado cuando eliminemos el contenedor.<\/p>\n<h3>Configurando Nginx<\/h3>\n<div class=\"tlid-input input\">\n<div class=\"source-wrap\">\n<div class=\"input-full-height-wrapper tlid-input-full-height-wrapper\">\n<div class=\"source-input\">\n<div class=\"source-footer-wrap source-or-target-footer\">\n<div class=\"character-count tlid-character-count\"><span class=\"\" title=\"\">La configuraci\u00f3n que vamos a usar es muy simple.<\/span> <span class=\"\" title=\"\">De hecho, es el archivo default.conf que viene con Nginx, pero primero eliminaremos algunas cosas innecesarias.<\/span> <span class=\"\" title=\"\">As\u00ed que creamos un archivo llamado \u00abdefault.conf\u00bb y configuramos los siguientes contenidos:<\/span><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"tlid-results-container results-container\">\n<div class=\"tlid-result result-dict-wrapper\">\n<div class=\"result tlid-copy-target\">\n<div class=\"result-header\">\n<div class=\"starbutton jfk-button-flat jfk-button unstarred\" role=\"button\" aria-label=\"Destacar traducci\u00f3n\" data-tooltip=\"Destacar traducci\u00f3n\" data-tooltip-align=\"t,c\">\n<div><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"wp-block-codemirror-blocks code-block \">\n<pre class=\"CodeMirror\" data-setting=\"{\">server {\r\n    listen       80;\r\n    server_name  yourdomain.com;\r\n\r\n    location \/ {\r\n        root   \/usr\/share\/nginx\/html;\r\n        index  index.html index.htm;\r\n    }\r\n\r\n    error_page   500 502 503 504  \/50x.html;\r\n    location = \/50x.html {\r\n        root   \/usr\/share\/nginx\/html;\r\n    }\r\n}\r\n<\/pre>\n<\/div>\n<p>Recuerda reemplazar el valor de server_name con tu propio dominio. Ahora, abre el Dockerfile y agrega una nueva l\u00ednea al final:<\/p>\n<div class=\"wp-block-codemirror-blocks code-block \">\n<pre class=\"CodeMirror\" data-setting=\"{\">COPY default.conf \/etc\/nginx\/conf.d\/default.conf<\/pre>\n<\/div>\n<h3>Construyendo la imagen de Docker<\/h3>\n<p>Este paso es f\u00e1cil y supongo que ya sabes c\u00f3mo construir un Dockerfile, pero de todos modos aqu\u00ed est\u00e1 el comando:<\/p>\n<div class=\"wp-block-codemirror-blocks code-block \">\n<pre class=\"CodeMirror\" data-setting=\"{\">docker build -t nginx-certbot .<\/pre>\n<\/div>\n<h3>Crear el nuevo certificado con certbot<\/h3>\n<p>Primero, ejecutaremos el contenedor anulando el punto de entrada para ejecutar el shell. Tambi\u00e9n montaremos la carpeta letsencrypt para que los datos del certificado sean persistentes.<\/p>\n<p>Advertencia: tambi\u00e9n recomendar\u00eda montar la carpeta nginx en un volumen persistente, pero eso est\u00e1 fuera del alcance de este laboratorio.<\/p>\n<div class=\"wp-block-codemirror-blocks code-block \">\n<pre class=\"CodeMirror\" data-setting=\"{\">docker run -v $(pwd)\/letsencrypt:\/etc\/letsencrypt --name nginx -ti -p 8080:80 nginx-certbot sh<\/pre>\n<\/div>\n<p>Luego, ejecutamos el comando certbot reemplazando yourdomain.com con tu dominio real (el mismo que usamos para servername). Tambi\u00e9n ten en cuenta que puedes agregar el dominio www, simplemente agrega un indicador \u00ab-d\u00bb para cada entrada adicional que necesites en el certificado:<\/p>\n<div class=\"wp-block-codemirror-blocks code-block \">\n<pre class=\"CodeMirror\" data-setting=\"{\">certbot --nginx -d yourdomain.com -d www.yourdomain.com<\/pre>\n<\/div>\n<p>Ahora certbot nos pedir\u00e1 una direcci\u00f3n de correo electr\u00f3nico que se usar\u00e1 para la recuperaci\u00f3n y luego intentar\u00e1 <strong>verificar que es el propietario del dominio<\/strong> dado. Ten en cuenta que si no se puede acceder a su servidor en este dominio, recibir\u00e1 un error. Si la verificaci\u00f3n del dominio tiene \u00e9xito, certbot te preguntar\u00e1 si deseas habilitar la redirecci\u00f3n <strong>de HTTP a HTTPS<\/strong> en la configuraci\u00f3n de nginx. Recomendamos hacerlo.<\/p>\n<p>Finalmente, Nginx se volver\u00e1 a cargar y deber\u00edas recibir un mensaje con la ubicaci\u00f3n de tus certificados. Ahora, puedes hacer una copia de seguridad de estos certificados si lo deseas.<\/p>\n<h3>Automatizar la renovaci\u00f3n del certificado<\/h3>\n<p>Si no deseamos verificar y renovar manualmente estos certificados cuando se acerquen a la fecha de vencimiento, agregaremos un trabajo cron para que lo haga por nosotros:<\/p>\n<div class=\"wp-block-codemirror-blocks code-block \">\n<pre class=\"CodeMirror\" data-setting=\"{\">0 12 * * * \/usr\/bin\/certbot renew --quiet<\/pre>\n<\/div>\n<h3>Conclusi\u00f3n<\/h3>\n<p>Como puedes ver, no ha sido tan dif\u00edcil crear los certificados SSL para tu dominio usando certbot.<\/p>\n<p>Elegimos alpine docker image para este laboratorio porque probablemente es una de las im\u00e1genes base m\u00e1s problem\u00e1ticas para usar junto con certbot, nosotros tuvimos algunos problemas para que funcionara correctamente debido a problemas de dependencias. Si eliges una imagen basada en ubuntu, probablemente ser\u00e1 mucho m\u00e1s f\u00e1cil configurar certbot, pero el punto es que las im\u00e1genes alpine son una opci\u00f3n habitual debido a su naturaleza minimalista.<\/p>\n<p>Espero que hayas disfrutado este laboratorio. <a href=\"https:\/\/geko.cloud\/es\/contacto\/\">No dudes en contactarnos<\/a> si deseas que te ayudemos en tus proyectos.<\/p>\n<p>\u00a1Nos vemos en la pr\u00f3xima entrada! Feel the Geko way!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En este laboratorio aprenderemos c\u00f3mo instalar certbot usando la imagen oficial de docker nginx:alpine y usarla para crear un certificado SSL para nuestro dominio. Ten en cuenta que para que funcione, debes ser propietario del dominio para el que necesites el certificado y \u00e9ste debe resolver a la direcci\u00f3n IP p\u00fablica donde est\u00e1 expuesto el [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":2282,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[18],"tags":[50,57],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Nginx y Letsencrypt con certbot en docker alpine - Geko Cloud<\/title>\n<meta name=\"description\" content=\"C\u00f3mo instalar certbot usando la imagen oficial de docker nginx:alpine y usarla para crear un certificado SSL para nuestro dominio.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Nginx y Letsencrypt con certbot en docker alpine - Geko Cloud\" \/>\n<meta property=\"og:description\" content=\"C\u00f3mo instalar certbot usando la imagen oficial de docker nginx:alpine y usarla para crear un certificado SSL para nuestro dominio.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/\" \/>\n<meta property=\"og:site_name\" content=\"Geko Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-20T06:12:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-11-03T17:00:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/geko.cloud\/wp-content\/uploads\/nginx_letsencrypt.png\" \/>\n\t<meta property=\"og:image:width\" content=\"825\" \/>\n\t<meta property=\"og:image:height\" content=\"280\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Xavi Miranda\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@geko_cloud\" \/>\n<meta name=\"twitter:site\" content=\"@geko_cloud\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/\"},\"author\":{\"name\":\"Xavi Miranda\",\"@id\":\"https:\/\/geko.cloud\/es\/#\/schema\/person\/d496fb33d6ad37fe134ef9fb225dc732\"},\"headline\":\"Nginx y Letsencrypt con certbot en docker alpine\",\"datePublished\":\"2020-05-20T06:12:26+00:00\",\"dateModified\":\"2021-11-03T17:00:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/\"},\"wordCount\":621,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/geko.cloud\/es\/#organization\"},\"image\":{\"@id\":\"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/geko.cloud\/wp-content\/uploads\/nginx_letsencrypt.png\",\"keywords\":[\"Docker\",\"Ngnix\"],\"articleSection\":[\"Labs\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/\",\"url\":\"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/\",\"name\":\"Nginx y Letsencrypt con certbot en docker alpine - Geko Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/geko.cloud\/es\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/geko.cloud\/wp-content\/uploads\/nginx_letsencrypt.png\",\"datePublished\":\"2020-05-20T06:12:26+00:00\",\"dateModified\":\"2021-11-03T17:00:54+00:00\",\"description\":\"C\u00f3mo instalar certbot usando la imagen oficial de docker nginx:alpine y usarla para crear un certificado SSL para nuestro dominio.\",\"breadcrumb\":{\"@id\":\"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/#primaryimage\",\"url\":\"https:\/\/geko.cloud\/wp-content\/uploads\/nginx_letsencrypt.png\",\"contentUrl\":\"https:\/\/geko.cloud\/wp-content\/uploads\/nginx_letsencrypt.png\",\"width\":825,\"height\":280,\"caption\":\"ngnix letsencrypt logo\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/geko.cloud\/es\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Nginx y Letsencrypt con certbot en docker alpine\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/geko.cloud\/es\/#website\",\"url\":\"https:\/\/geko.cloud\/es\/\",\"name\":\"Geko Cloud\",\"description\":\"Servicios de consultor\u00eda cloud y devops\",\"publisher\":{\"@id\":\"https:\/\/geko.cloud\/es\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/geko.cloud\/es\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/geko.cloud\/es\/#organization\",\"name\":\"Geko Cloud\",\"url\":\"https:\/\/geko.cloud\/es\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/geko.cloud\/es\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/geko.cloud\/wp-content\/uploads\/2021\/10\/geko_logo-positivo.png\",\"contentUrl\":\"https:\/\/geko.cloud\/wp-content\/uploads\/2021\/10\/geko_logo-positivo.png\",\"width\":1650,\"height\":809,\"caption\":\"Geko Cloud\"},\"image\":{\"@id\":\"https:\/\/geko.cloud\/es\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/geko_cloud\",\"https:\/\/www.instagram.com\/gekocloud\/\",\"https:\/\/www.linkedin.com\/company\/gekocloud\",\"https:\/\/www.youtube.com\/channel\/UC5EFLCqUM7fEaXSa_0nWowQ\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/geko.cloud\/es\/#\/schema\/person\/d496fb33d6ad37fe134ef9fb225dc732\",\"name\":\"Xavi Miranda\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/geko.cloud\/es\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/aa0e61120a4b0a629b0679d9e341758d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/aa0e61120a4b0a629b0679d9e341758d?s=96&d=mm&r=g\",\"caption\":\"Xavi Miranda\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Nginx y Letsencrypt con certbot en docker alpine - Geko Cloud","description":"C\u00f3mo instalar certbot usando la imagen oficial de docker nginx:alpine y usarla para crear un certificado SSL para nuestro dominio.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/","og_locale":"es_ES","og_type":"article","og_title":"Nginx y Letsencrypt con certbot en docker alpine - Geko Cloud","og_description":"C\u00f3mo instalar certbot usando la imagen oficial de docker nginx:alpine y usarla para crear un certificado SSL para nuestro dominio.","og_url":"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/","og_site_name":"Geko Cloud","article_published_time":"2020-05-20T06:12:26+00:00","article_modified_time":"2021-11-03T17:00:54+00:00","og_image":[{"width":825,"height":280,"url":"https:\/\/geko.cloud\/wp-content\/uploads\/nginx_letsencrypt.png","type":"image\/png"}],"author":"Xavi Miranda","twitter_card":"summary_large_image","twitter_creator":"@geko_cloud","twitter_site":"@geko_cloud","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/#article","isPartOf":{"@id":"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/"},"author":{"name":"Xavi Miranda","@id":"https:\/\/geko.cloud\/es\/#\/schema\/person\/d496fb33d6ad37fe134ef9fb225dc732"},"headline":"Nginx y Letsencrypt con certbot en docker alpine","datePublished":"2020-05-20T06:12:26+00:00","dateModified":"2021-11-03T17:00:54+00:00","mainEntityOfPage":{"@id":"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/"},"wordCount":621,"commentCount":0,"publisher":{"@id":"https:\/\/geko.cloud\/es\/#organization"},"image":{"@id":"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/#primaryimage"},"thumbnailUrl":"https:\/\/geko.cloud\/wp-content\/uploads\/nginx_letsencrypt.png","keywords":["Docker","Ngnix"],"articleSection":["Labs"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/","url":"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/","name":"Nginx y Letsencrypt con certbot en docker alpine - Geko Cloud","isPartOf":{"@id":"https:\/\/geko.cloud\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/#primaryimage"},"image":{"@id":"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/#primaryimage"},"thumbnailUrl":"https:\/\/geko.cloud\/wp-content\/uploads\/nginx_letsencrypt.png","datePublished":"2020-05-20T06:12:26+00:00","dateModified":"2021-11-03T17:00:54+00:00","description":"C\u00f3mo instalar certbot usando la imagen oficial de docker nginx:alpine y usarla para crear un certificado SSL para nuestro dominio.","breadcrumb":{"@id":"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/#primaryimage","url":"https:\/\/geko.cloud\/wp-content\/uploads\/nginx_letsencrypt.png","contentUrl":"https:\/\/geko.cloud\/wp-content\/uploads\/nginx_letsencrypt.png","width":825,"height":280,"caption":"ngnix letsencrypt logo"},{"@type":"BreadcrumbList","@id":"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/geko.cloud\/es\/"},{"@type":"ListItem","position":2,"name":"Nginx y Letsencrypt con certbot en docker alpine"}]},{"@type":"WebSite","@id":"https:\/\/geko.cloud\/es\/#website","url":"https:\/\/geko.cloud\/es\/","name":"Geko Cloud","description":"Servicios de consultor\u00eda cloud y devops","publisher":{"@id":"https:\/\/geko.cloud\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/geko.cloud\/es\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/geko.cloud\/es\/#organization","name":"Geko Cloud","url":"https:\/\/geko.cloud\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/geko.cloud\/es\/#\/schema\/logo\/image\/","url":"https:\/\/geko.cloud\/wp-content\/uploads\/2021\/10\/geko_logo-positivo.png","contentUrl":"https:\/\/geko.cloud\/wp-content\/uploads\/2021\/10\/geko_logo-positivo.png","width":1650,"height":809,"caption":"Geko Cloud"},"image":{"@id":"https:\/\/geko.cloud\/es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/geko_cloud","https:\/\/www.instagram.com\/gekocloud\/","https:\/\/www.linkedin.com\/company\/gekocloud","https:\/\/www.youtube.com\/channel\/UC5EFLCqUM7fEaXSa_0nWowQ"]},{"@type":"Person","@id":"https:\/\/geko.cloud\/es\/#\/schema\/person\/d496fb33d6ad37fe134ef9fb225dc732","name":"Xavi Miranda","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/geko.cloud\/es\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/aa0e61120a4b0a629b0679d9e341758d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/aa0e61120a4b0a629b0679d9e341758d?s=96&d=mm&r=g","caption":"Xavi Miranda"}}]}},"_links":{"self":[{"href":"https:\/\/geko.cloud\/es\/wp-json\/wp\/v2\/posts\/2281"}],"collection":[{"href":"https:\/\/geko.cloud\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/geko.cloud\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/geko.cloud\/es\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/geko.cloud\/es\/wp-json\/wp\/v2\/comments?post=2281"}],"version-history":[{"count":5,"href":"https:\/\/geko.cloud\/es\/wp-json\/wp\/v2\/posts\/2281\/revisions"}],"predecessor-version":[{"id":5222,"href":"https:\/\/geko.cloud\/es\/wp-json\/wp\/v2\/posts\/2281\/revisions\/5222"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/geko.cloud\/es\/wp-json\/wp\/v2\/media\/2282"}],"wp:attachment":[{"href":"https:\/\/geko.cloud\/es\/wp-json\/wp\/v2\/media?parent=2281"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/geko.cloud\/es\/wp-json\/wp\/v2\/categories?post=2281"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/geko.cloud\/es\/wp-json\/wp\/v2\/tags?post=2281"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}