-e
"MINIO_ROOT_PASSWORD=密码"
\
-v
/dcoker/minio/data:/data
\
quay.io/minio/minio server /data --console-address
":9001"
内部搭建的MinIo服务器映射到外网后访问文件资源一直报认证异常,经资料查阅minio有自己一套加密校验逻辑,访问时不可改动其桶名
解决内网穿透minio访问异常问题
通过nginx进行代理,代理时不改变访问路径,外网映射时映射nginx的代理地址
docker pull nginx
docker run --name nginx -d -p81:80 -itd nginx
mkdir -p /usr/local/docker-soft/nginx/conf
mkdir -p /usr/local/docker-soft/nginx/conf.d
docker cp nginx:/etc/nginx/nginx.conf /usr/local/docker-soft/nginx/conf/nginx.conf
docker cp nginx:/etc/nginx/conf.d/default.conf /usr/local/docker-soft/nginx/conf.d/default.conf
docker rm -f nginx
docker run --name nginx -d -it \
-p 80:80 \
-v /usr/local/docker-soft/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /usr/local/docker-soft/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf \
nginx
修改Nginx配置
server {
listen 80;
location /访问的桶名/ {
proxy_read_timeout 600s;
proxy_pass http://minio服务器IP:端口/访问的桶名/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Special-Delivery "";
proxy_set_header Access-Control-Allow-Origin "";
proxy_set_header Proxy-Client-IP $remote_addr;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
add_header X-Special-Delivery "stop-polling-our-interface-you-bitch" always;
add_header Access-Control-Allow-Origin "you-poll-your-mama-blyat" always;
MinIO简介
MinIO 是一款基于Go语言的高性能对象存储服务,它采用了Apache License v2.0开源协议,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等。
使用Docker安装MinIO服
利用
docker 部署
minio(
minio无法访问解决)
今天使用云
服务器部署
minio但是一直
无法访问,查看访问端口一直在变化,想到
minio的默认启动是动态端口,踩坑记录。
docker pull
minio/
minio
docker run
# 映射端口
-p 9000:9000
# 容器名
--name
minio
# 自启动
-d --restart=always
# 登录的用户名
-e "
MINIO_ACCESS_KEY=
minio"
# 登录的密码
最近在用minio操作文件的上传和下载,使用过程中发现minio最新版坑很多,minio的版本更新很快,不建议刚开始使用minio的人用最新版。
用老一点的版本应该是没问题的,刚开始我用的是最新版,生成的文件链接始终无法访问,网上查了很久也不知道是啥原因造成的。然后参考网上的文章换成了这个版本:RELEASE.2021-06-17T00-10-46Z 问题就解决了
参考文章链接 https://juejin.cn/post/6988340287559073799
minio官网 http://doc
--hostname gitlab.example.com \
--publish 192.168.1.100:443:443 \
--publish 192.168.1.100:80:80 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
其中,`--hostname` 参数指定 GitLab 的主机名,`--publish` 参数指定容器端口与宿主机端口的映射,这里只映射内网 IP 地址,`--name` 参数指定容器名称,`--restart` 参数指定容器启动后自动重启,`--volume` 参数指定容器内数据存储的位置。
4. 配置 GitLab
进入容器内部:
docker exec -it gitlab /bin/bash
在容器内部执行以下命令:
gitlab-ctl reconfigure
然后访问 `http://192.168.1.100`,输入管理员用户名和密码,登录 GitLab。
5. 内网访问限制
在容器内部执行以下命令:
gitlab-ctl stop
cd /etc/gitlab/
vim gitlab.rb
修改以下配置项:
external_url 'http://gitlab.example.com'
nginx['listen_addresses'] = ['127.0.0.1']
`external_url` 指定 GitLab 的外部访问地址,`nginx['listen_addresses']` 指定 nginx 监听的 IP 地址,这里只监听本地回环接口。
保存并退出,然后执行以下命令:
gitlab-ctl reconfigure
gitlab-ctl restart
这样就完成了内网访问限制的设置。
注意,这里的 IP 地址和配置文件中的地址需要根据实际情况进行调整。