<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Letsencrypt on Yarang's Tech Lair</title><link>https://blog.agentthread.dev/tags/letsencrypt/</link><description>Recent content in Letsencrypt on Yarang's Tech Lair</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Tue, 10 Mar 2026 23:36:38 +0900</lastBuildDate><atom:link href="https://blog.agentthread.dev/tags/letsencrypt/index.xml" rel="self" type="application/rss+xml"/><item><title>SSL Certificate Multi-Domain Support: Adding blog.agentthread.dev</title><link>https://blog.agentthread.dev/post/ssl-certificate-multi-domain-support-adding-blog.agentthread.dev/</link><pubDate>Tue, 10 Mar 2026 23:36:38 +0900</pubDate><guid>https://blog.agentthread.dev/post/ssl-certificate-multi-domain-support-adding-blog.agentthread.dev/</guid><description>&lt;h1 id="ssl-certificate-multi-domain-support-adding-blogagentthreaddev"&gt;SSL Certificate Multi-Domain Support: Adding blog.agentthread.dev
&lt;/h1&gt;&lt;h2 id="overview"&gt;Overview
&lt;/h2&gt;&lt;p&gt;Extended the SSL certificate for blog.fcoinfup.com to support the blog.agentthread.dev domain, allowing both domains to use the same certificate.&lt;/p&gt;
&lt;h2 id="background"&gt;Background
&lt;/h2&gt;&lt;p&gt;Created the blog.agentthread.dev domain through Cloudflare and connected it to the same server as blog.fcoinfup.com (130.162.133.47). To serve identical content on both domains, the SSL certificate was extended to support multiple domains.&lt;/p&gt;
&lt;h2 id="work-details"&gt;Work Details
&lt;/h2&gt;&lt;h3 id="1-dns-configuration"&gt;1. DNS Configuration
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Cloudflare DNS Record Creation:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;blog.agentthread.dev → 130.162.133.47 &lt;span style="color:#f92672"&gt;(&lt;/span&gt;A record&lt;span style="color:#f92672"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Existing Domain:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;blog.fcoinfup.com → CNAME → oci-yarang-ec1.fcoinfup.com → 130.162.133.47
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="2-ssl-certificate-extension"&gt;2. SSL Certificate Extension
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Existing Certificate Info:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Certificate Name: blog.fcoinfup.com&lt;/li&gt;
&lt;li&gt;Domain: blog.fcoinfup.com (single domain)&lt;/li&gt;
&lt;li&gt;Encryption: ECDSA&lt;/li&gt;
&lt;li&gt;Expiration: 2026-06-08&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Extended Certificate Info:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Certificate Name: blog.fcoinfup.com&lt;/li&gt;
&lt;li&gt;Domains: blog.fcoinfup.com, &lt;strong&gt;blog.agentthread.dev&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Encryption: ECDSA&lt;/li&gt;
&lt;li&gt;Expiration: 2026-06-08 (89 days remaining)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="3-certbot-commands"&gt;3. Certbot Commands
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Certificate Extension:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo certbot certonly --expand -d blog.fcoinfup.com -d blog.agentthread.dev
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Or renew existing certificate:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo certbot renew --force-renewal --cert-name blog.fcoinfup.com
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="4-nginx-configuration-update"&gt;4. Nginx Configuration Update
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Update server_name directive:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-nginx" data-lang="nginx"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;server&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;listen&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;443&lt;/span&gt; &lt;span style="color:#e6db74"&gt;ssl&lt;/span&gt; &lt;span style="color:#e6db74"&gt;http2&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;server_name&lt;/span&gt; &lt;span style="color:#e6db74"&gt;blog.fcoinfup.com&lt;/span&gt; &lt;span style="color:#e6db74"&gt;blog.agentthread.dev&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;ssl_certificate&lt;/span&gt; &lt;span style="color:#e6db74"&gt;/etc/letsencrypt/live/blog.fcoinfup.com/fullchain.pem&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;ssl_certificate_key&lt;/span&gt; &lt;span style="color:#e6db74"&gt;/etc/letsencrypt/live/blog.fcoinfup.com/privkey.pem&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# Other settings...
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Reload Nginx:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo nginx -t &lt;span style="color:#75715e"&gt;# Test configuration&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl reload nginx
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="technical-details"&gt;Technical Details
&lt;/h2&gt;&lt;h3 id="ssltls-certificate"&gt;SSL/TLS Certificate
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Type:&lt;/strong&gt; ECDSA (Elliptic Curve Digital Signature Algorithm)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CA:&lt;/strong&gt; Let&amp;rsquo;s Encrypt&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SAN (Subject Alternative Name):&lt;/strong&gt; blog.fcoinfup.com, blog.agentthread.dev&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Expiration:&lt;/strong&gt; 2026-06-08&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="web-server"&gt;Web Server
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Software:&lt;/strong&gt; nginx&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HTTP→HTTPS Redirect:&lt;/strong&gt; Automatic redirect enabled&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HTTP/2:&lt;/strong&gt; Enabled&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="dns"&gt;DNS
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Provider:&lt;/strong&gt; Cloudflare&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Record Type:&lt;/strong&gt; A&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;TTL:&lt;/strong&gt; 3600 seconds (1 hour)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Proxy:&lt;/strong&gt; Disabled (DNS only)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="results"&gt;Results
&lt;/h2&gt;&lt;h3 id="accessible-urls"&gt;Accessible URLs
&lt;/h3&gt;&lt;p&gt;Both domains are accessible via HTTPS:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a class="link" href="https://blog.fcoinfup.com" target="_blank" rel="noopener"
 &gt;https://blog.fcoinfup.com&lt;/a&gt;&lt;/strong&gt; ✅&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a class="link" href="https://blog.agentthread.dev" target="_blank" rel="noopener"
 &gt;https://blog.agentthread.dev&lt;/a&gt;&lt;/strong&gt; ✅&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="http-automatic-redirect"&gt;HTTP Automatic Redirect
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;http://blog.fcoinfup.com → https://blog.fcoinfup.com
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;http://blog.agentthread.dev → https://blog.agentthread.dev
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="ssl-verification"&gt;SSL Verification
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ curl -I https://blog.agentthread.dev
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;HTTP/2 &lt;span style="color:#ae81ff"&gt;200&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;server: nginx
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;content-type: text/html
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="auto-renewal"&gt;Auto-Renewal
&lt;/h2&gt;&lt;p&gt;Let&amp;rsquo;s Encrypt certificates automatically renew every 90 days. The Certbot timer handles renewal automatically.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Check Renewal Status:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl status certbot.timer
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo certbot renew --dry-run
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="security-recommendations"&gt;Security Recommendations
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Regular certificate expiration checks&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HTTP security headers configuration&lt;/strong&gt; (HSTS, CSP, etc.)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Strong encryption curves&lt;/strong&gt; (currently using ECDSA)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Regular web server updates&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="conclusion"&gt;Conclusion
&lt;/h2&gt;&lt;p&gt;The blog.agentthread.dev domain has been successfully added, and secure HTTPS access is available through a valid SSL certificate. Both domains serve identical content, allowing users to choose their preferred domain for access.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;Korean Version:&lt;/strong&gt; &lt;a class="link" href="https://blog.agentthread.dev/ko/post/2026-03-10-001-ssl-%ec%9d%b8%ec%a6%9d%ec%84%9c-%eb%8b%a4%ec%a4%91-%eb%8f%84%eb%a9%94%ec%9d%b8-%ec%a7%80%ec%9b%90-%ec%84%a4%ec%a0%95-blogagentthreaddev-%ec%b6%94%ea%b0%80/" &gt;한국어 버전&lt;/a&gt;&lt;/p&gt;</description></item></channel></rss>