公网访问本地Minio服务
1.准备工作
- 本地服务器.运行 MinIO 服务,IP 地址为 192.168.80.128,端口为 9000;部署方式参考. 部署Minio
- 云服务器.IP 地址为
云服务器ip地址
,用于接收公网访问请求,并通过 FRP 将请求转发到本地 Minio - 安装 FRP.确保在本地和云服务器上都已安装 FRP。安装教程.Docker部署Frp内网穿透教程
2.配置 FRP 服务端(frps
)
配置教程参考.安装服务端
云服务器的配置
bash[common] # 监听端口 bind_port = 7000 # 面板端口 dashboard_port = 7500 # 登录面板账号设置 dashboard_user = admin # 登录面板的密码 dashboard_pwd = 123456 # 身份验证,随便填写无要求 token = 123456
3.配置 FRP 客户端(frpc
)
配置教程参考.安装客户端
自己的配置
/root/frpc.ini
bash[common] # 云服务器的IP地址,FRP客户端连接到此地址 server_addr = [填写云服务器的IP地址] # 服务端监听的端口,FRP客户端将连接此端口 server_port = 7000 # 服务端设置的token,用于客户端与服务端之间的身份验证 token = [填写云服务器的token,比如123456] [ruyu-blog-qt] # 代理的类型,这里是TCP代理 type = tcp # 本地应用的IP地址,FRP客户端会从这里转发流量 local_ip = 127.0.0.1 # 本地应用的端口,FRP客户端会将请求转发到这个端口 local_port = 80 # 远程服务器上对应的端口,外部访问此端口时流量会被转发到本地的local_ip:local_port remote_port = 8082 [ruyu-blog-ht] # 代理的类型,这里是TCP代理 type = tcp # 本地应用的IP地址,FRP客户端会从这里转发流量 local_ip = 127.0.0.1 # 本地应用的端口,FRP客户端会将请求转发到这个端口 local_port = 81 # 远程服务器上对应的端口,外部访问此端口时流量会被转发到本地的local_ip:local_port remote_port = 8083 [ruyu-hitokoto] # 代理的类型,这里是TCP代理 type = tcp # 本地应用的IP地址,这里是一个内网地址,FRP客户端会从这里转发流量 local_ip = 192.168.80.128 # 本地应用的端口,FRP客户端会将请求转发到这个端口 local_port = 8000 # 远程服务器上对应的端口,外部访问此端口时流量会被转发到本地的local_ip:local_port remote_port = 8084 [ruyu-minio] # 代理的类型,这里是TCP代理 type = tcp # 本地应用的IP地址,这里是一个内网地址,FRP客户端会从这里转发流量 local_ip = 192.168.80.128 # 本地应用的端口,FRP客户端会将请求转发到这个端口 local_port = 9000 # 远程服务器上对应的端口,外部访问此端口时流量会被转发到本地的local_ip:local_port remote_port = 9000
4.配置 MinIO 客户端
application-dev.yml
)中配置 MinIO 的访问地址,确保使用云服务器的公网 IP
yml
minio:
# 访问地址
endpoint: http://公网ip:9000
#endpoint: http://192.168.80.128:9000 (本地虚拟机填写这个配置)
#endpoint: http://公网ip:9000 (通过frp填写这个配置)
accessKey: 填写虚拟机的accessKey
secretKey: 填写虚拟机的secretKey
# 桶名称
bucketName: blog
5.防火墙配置
确保云服务器的防火墙开放以下端口.
- FRP 服务端监听端口
7000
。 - MinIO 服务映射的端口
9000
。
可以使用以下命令开放这些端口(以 CentOS 为例).
bash
sudo firewall-cmd --zone=public --add-port=7000/tcp --permanent
sudo firewall-cmd --zone=public --add-port=9000/tcp --permanent
sudo firewall-cmd --reload
6.重新构建后端容器
- 构建教程参考:部署后端
7.验证访问
访问ruyu-blog后台上传图片,在前台访问开发者工具检查图片地址指向是否是云服务器地址,如果是就成功