在Ubuntu上為MinIO配置SSL,可以按照以下步驟進行:
首先,確保你已經在Ubuntu上安裝了MinIO。你可以從MinIO的官方網站下載并安裝最新版本的MinIO。
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
sudo mv minio /usr/local/bin/
你可以使用Let’s Encrypt來生成免費的SSL證書。首先,安裝Certbot和Nginx(如果你還沒有安裝的話)。
sudo apt update
sudo apt install certbot python3-certbot-nginx
然后,運行Certbot來獲取并安裝SSL證書。
sudo certbot --nginx -d yourdomain.com
按照提示完成證書的安裝。Certbot會自動配置Nginx以使用SSL證書。
MinIO支持通過環境變量或配置文件來配置SSL。這里我們使用環境變量的方式。
編輯MinIO的啟動腳本或服務文件,添加以下環境變量:
MINIO_SSL=1
MINIO_SSL_CERT=/etc/letsencrypt/live/yourdomain.com/fullchain.pem
MINIO_SSL_KEY=/etc/letsencrypt/live/yourdomain.com/privkey.pem
例如,如果你是通過systemd管理MinIO服務的,可以編輯/etc/systemd/system/minio.service
文件:
[Unit]
Description=MinIO Server
After=network.target
[Service]
User=minio
Group=minio
ExecStart=/usr/local/bin/minio server /path/to/your/data --console-address ":9001" \
MINIO_SSL=1 \
MINIO_SSL_CERT=/etc/letsencrypt/live/yourdomain.com/fullchain.pem \
MINIO_SSL_KEY=/etc/letsencrypt/live/yourdomain.com/privkey.pem
Restart=on-failure
[Install]
WantedBy=multi-user.target
然后重新加載systemd配置并重啟MinIO服務:
sudo systemctl daemon-reload
sudo systemctl restart minio
打開瀏覽器并訪問https://yourdomain.com:9000
,你應該能夠看到MinIO的Web控制臺,并且連接是通過HTTPS加密的。
Let’s Encrypt的證書有效期為90天,因此你需要設置自動續期。Certbot會自動處理證書的續期,并重新加載Nginx配置。
你可以手動測試續期過程:
sudo certbot renew --dry-run
如果沒有錯誤,可以設置自動續期:
sudo crontab -e
添加以下行:
0 0,12 * * * certbot renew --post-hook "systemctl reload nginx"
這樣,Certbot會在證書到期前30天自動續期,并重新加載Nginx配置。
通過以上步驟,你就可以在Ubuntu上為MinIO配置SSL了。