Ubuntu与MinIO网络配置指南
使用Netplan工具配置静态IP,编辑对应网卡的YAML文件(如/etc/netplan/01-netcfg.yaml),内容示例如下:
network:
version: 2
renderer: networkd
ethernets:
ens33: # 替换为实际网卡名称(通过`ip a`命令查看)
dhcp4: no
addresses: ["192.168.1.100/24"] # 静态IP地址及子网掩码
gateway4: 192.168.1.1 # 网关地址
nameservers:
addresses: ["8.8.8.8", "8.8.4.4"] # DNS服务器
应用配置并验证:
sudo netplan apply # 应用配置
ip addr show ens33 # 验证IP是否生效
编辑/etc/network/interfaces文件,内容示例如下:
auto ens33 # 替换为实际网卡名称
iface ens33 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 8.8.4.4
重启网络服务并验证:
sudo /etc/init.d/networking restart # 重启网络
ifconfig ens33 # 验证IP是否生效
默认情况下,MinIO仅监听本地接口(localhost),需通过--address参数指定监听所有网络接口(0.0.0.0),允许远程访问:
minio server --address ":9000" /data # /data为存储目录
启动后,可通过http://<Ubuntu服务器IP>:9000访问MinIO Web控制台。
允许MinIO默认端口(9000)及控制台端口(9090,若配置)的流量:
sudo ufw allow 9000/tcp # MinIO服务端口
sudo ufw allow 9090/tcp # MinIO控制台端口(可选)
sudo ufw enable # 启用防火墙
sudo ufw status # 验证规则
启用HTTPS:通过Let’s Encrypt获取免费SSL证书,配置MinIO使用HTTPS提升安全性。
安装Certbot并获取证书:
sudo apt install certbot
sudo certbot certonly --standalone -d your-domain.com # 替换为实际域名
编辑MinIO配置文件(/etc/default/minio),添加证书路径:
MINIO_OPTS="--address :9000 --certs-dir /etc/letsencrypt/live/your-domain.com"
重启MinIO服务:
sudo systemctl restart minio
自定义访问密钥:通过环境变量设置强密码,避免使用默认密钥:
编辑/etc/default/minio文件,添加以下内容:
MINIO_ACCESS_KEY="your-strong-access-key" # 替换为自定义访问密钥
MINIO_SECRET_KEY="your-strong-secret-key" # 替换为自定义秘密密钥
重启MinIO服务使配置生效:
sudo systemctl restart minio
通过Nginx反向代理MinIO,隐藏内部端口并支持域名访问。
安装Nginx:
sudo apt install nginx
创建Nginx配置文件(/etc/nginx/sites-available/minio):
server {
listen 80;
server_name your-domain.com; # 替换为实际域名
location / {
proxy_pass http://127.0.0.1:9000; # 转发到MinIO服务
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
启用配置并重启Nginx:
sudo ln -s /etc/nginx/sites-available/minio /etc/nginx/sites-enabled/
sudo nginx -t # 测试配置语法
sudo systemctl restart nginx
curl http://localhost:9000,应返回MinIO的JSON响应。curl http://<Ubuntu服务器IP>:9000,确认能访问MinIO服务。http://<Ubuntu服务器IP>:9000(或配置的域名),使用自定义访问密钥登录。通过以上步骤,可完成Ubuntu系统与MinIO的网络配置,实现远程访问、安全加密及域名绑定等功能。