溫馨提示×

Golang在Ubuntu上如何配置SSL

小樊
41
2025-10-20 22:55:20
欄目: 云計算

在Ubuntu上為Golang應用程序配置SSL,你需要遵循以下步驟:

  1. 安裝Certbot: Certbot是一個自動化的SSL證書管理工具,它可以幫助你輕松地為你的域名獲取和更新Let’s Encrypt SSL證書。在Ubuntu上安裝Certbot,運行以下命令:
sudo apt update
sudo apt install certbot
  1. 獲取SSL證書: 使用Certbot為你的域名獲取SSL證書。將yourdomain.com替換為你的實際域名:
sudo certbot certonly --standalone -d yourdomain.com

Certbot會檢查你的域名是否已經配置了DNS,并在成功驗證后為你生成SSL證書。證書文件通常位于/etc/letsencrypt/live/yourdomain.com/目錄下。

  1. 配置Golang應用程序: 在你的Golang應用程序中,你需要配置HTTP服務器以使用SSL證書。這是一個簡單的示例:
package main

import (
	"fmt"
	"log"
	"net/http"
)

func main() {
	http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
		fmt.Fprintf(w, "Hello, SSL!")
	})

	certFile := "/etc/letsencrypt/live/yourdomain.com/fullchain.pem"
	keyFile := "/etc/letsencrypt/live/yourdomain.com/privkey.pem"

	log.Printf("Starting HTTPS server on :443")
	err := http.ListenAndServeTLS(":443", certFile, keyFile, nil)
	if err != nil {
		log.Fatal(err)
	}
}

在這個示例中,我們使用了ListenAndServeTLS函數來啟動一個HTTPS服務器,并提供了證書文件和密鑰文件的路徑。

  1. 重新加載Golang應用程序: 保存你的更改并重新加載Golang應用程序?,F在,你的應用程序應該可以通過HTTPS訪問了。

  2. 設置自動更新證書: Let’s Encrypt證書有效期為90天。為了確保證書始終有效,你需要設置自動更新。Certbot提供了一個名為certbot renew的命令來更新證書。你可以將此命令添加到cron作業中,以便在證書到期前自動更新。

運行以下命令以編輯cron作業:

sudo crontab -e

在打開的編輯器中,添加以下行以每天檢查并更新證書:

0 0 * * * certbot renew --post-hook "systemctl reload your-golang-app.service"

your-golang-app.service替換為你的Golang應用程序的實際systemd服務名稱。保存并關閉編輯器。

現在,你的Golang應用程序應該在Ubuntu上使用SSL運行,并且證書將自動更新。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女