溫馨提示×

CentOS下Golang如何配置SSL證書

小樊
39
2025-06-20 08:06:11
欄目: 云計算

在CentOS系統下為Golang應用程序配置SSL證書,可以按照以下步驟進行:

  1. 獲取SSL證書:首先,你需要獲取一個SSL證書。你可以從證書頒發機構(CA)購買一個證書,或者使用Let’s Encrypt免費生成一個證書。

  2. 安裝Certbot:Certbot是一個自動化的工具,用于獲取和部署Let’s Encrypt SSL證書。在CentOS上安裝Certbot,可以使用以下命令:

sudo yum install epel-release
sudo yum install certbot
  1. 獲取證書:使用Certbot獲取SSL證書。運行以下命令,將yourdomain.com替換為你的域名:
sudo certbot certonly --standalone -d yourdomain.com

Certbot會創建一個新的目錄(默認為/etc/letsencrypt/live/yourdomain.com),其中包含你的證書文件(fullchain.pem)和私鑰文件(privkey.pem)。

  1. 配置Golang應用程序:在你的Golang應用程序中,使用http.ListenAndServeTLS函數配置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 server on :443")
	err := http.ListenAndServeTLS(":443", certFile, keyFile, nil)
	if err != nil {
		log.Fatal(err)
	}
}

certFilekeyFile變量設置為你的證書文件和私鑰文件的路徑。

  1. 重啟Golang應用程序:保存更改并重啟你的Golang應用程序以應用新的SSL配置。

  2. 更新證書:Certbot證書的有效期為90天。為了自動更新證書,你可以使用Certbot的renew命令:

sudo certbot renew --dry-run

如果沒有錯誤,運行以下命令以實際更新證書:

sudo certbot renew
  1. 設置定時任務:為了確保證書始終有效,你可以設置一個定時任務(cron job)來自動執行certbot renew命令。使用以下命令打開crontab編輯器:
sudo crontab -e

添加以下行以每天檢查證書更新:

0 0 * * * certbot renew --quiet && systemctl reload your-golang-app.service

your-golang-app.service替換為你的Golang應用程序的systemd服務名稱。

現在,你的Golang應用程序已經配置了SSL證書,并可以安全地處理HTTPS請求。

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