1、frp
frp 可以将本机的 8080 服务端口暴露到公网上,让公网服务器成为中转站,让用户直接访问到本机服务。

2、子域名的使用
1、在阿里云的 DNS服务器 中配置一级域名和二级域名,并指向阿里云服务器 IP 地址。
2、在阿里云服务器中的 Nginx 中配置一级域名和二级域名访问的程序端口。
其中,通过配置子域名的方式可以做到路由的隔离,防止服务1和服务2的路由混乱。
3、frpc 暴露多个服务端口
修改 frpc.toml 文件,注册多个服务端口
serverAddr = "59.110.xxx.xx"
serverPort = 7000
auth.token = "2a9286bfd0abf55c"
# 博客服务
[[proxies]]
name = "JTHaloBlog"
type = "tcp"
localIP = "127.0.0.1"
localPort = 8090
remotePort = 8090
# docker 镜像仓库
[[proxies]]
name = "docker registry"
type = "tcp"
localIP = "127.0.0.1"
localPort = 5000
remotePort = 5000
# docker 镜像仓库 ui
[[proxies]]
name = "docker registry ui"
type = "tcp"
localIP = "127.0.0.1"
localPort = 5001
remotePort = 5001
# jenkins
[[proxies]]
name = "jenkins"
type = "tcp"
localIP = "127.0.0.1"
localPort = 8080
remotePort = 8080windows 下 win + r 运行 services.msc ,找到 FRPC Service 重启

3.1、docker 镜像仓库
原 docker 镜像搭建
DockerImageRegistyCompose.yaml
执行 shell :docker compose -f D:\work\env\docker\DockerImageRegistry\DockerImageRegistyCompose.yaml up -d
services:
registry:
image: registry:3.1.1
container_name: jt-registry
restart: on-failure:3
networks:
- jt_registry_network
volumes:
- D:\work\env\docker\DockerImageRegistry\registry\lib:/var/lib/registry # 镜像数据、仓库元数据
ports:
- 15000:5000
environment:
- REGISTRY_STORAGE_DELETE_ENABLED=true # 允许删除镜像
registry-ui:
image: joxit/docker-registry-ui:2.6.0-debian
container_name: jt-registry-ui
restart: on-failure:3
networks:
- jt_registry_network
ports:
- 15001:80
environment:
- TZ=Asia/Shanghai
- REGISTRY_URL=http://localhost:15001 # 指向仓库
- NGINX_PROXY_PASS_URL=http://registry:5000
- REGISTRY_TITLE=JT私有镜像仓库
- DELETE_IMAGES=true # 允许界面删除镜像
- SINGLE_REGISTRY=true
depends_on:
- registry
networks:
jt_registry_network:
driver: bridge存在问题:
1、docker registry 没有用户名密码
2、通过公网访问 docker registry ui 时,存在跨域

重新创建 docker registry
docker-registry-compose.yaml :
docker compose -f D:\work\env\docker\registry\docker-registry-compose.yaml up -d
services:
# 自动生成账号密码的初始化容器
registry-auth:
image: httpd:2.4.67
container_name: jt-registry-auth
restart: on-failure:3
networks:
- jt_registry_network
volumes:
- D:\work\env\docker\registry\registry\auth:/auth
# 在这里改你的 用户名 和 密码
command: >
sh -c "
mkdir -p /auth &&
htpasswd -Bbn admin 123456 > /auth/htpasswd
"
# 镜像仓库容器
registry:
image: registry:3.1.1
container_name: jt-registry
restart: on-failure:3
networks:
- jt_registry_network
volumes:
- D:\work\env\docker\registry\registry\lib:/var/lib/registry # 镜像数据、仓库元数据
- D:\work\env\docker\registry\registry\auth:/auth # 挂载密码文件夹
ports:
- 15000:5000
environment:
- REGISTRY_STORAGE_DELETE_ENABLED=true # 允许删除镜像
# 开启认证 ↓↓↓
- REGISTRY_AUTH=htpasswd
- REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm
- REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd
depends_on:
- registry-auth
# 镜像仓库 UI 容器
registry-ui:
image: joxit/docker-registry-ui:2.6.0-debian
container_name: jt-registry-ui
restart: on-failure:3
networks:
- jt_registry_network
ports:
- 15001:80
environment:
- TZ=Asia/Shanghai
- SINGLE_REGISTRY=true
- REGISTRY_TITLE=JT私有镜像仓库
- DELETE_IMAGES=true # 允许界面删除镜像
# - REGISTRY_URL=http://localhost:15001 # 指向仓库
- NGINX_PROXY_PASS_URL=http://registry:5000
# 开启 UI 登录 ↓↓↓
- REGISTRY_SECURED=true
depends_on:
- registry
networks:
jt_registry_network:
driver: bridge3.2、配置子域名及 nginx 路由
首先修改 /JT/nginx/conf/nginx.conf
其次在阿里云域名管理中增加子域名配置
3.3、服务HTTP不安全,改为HTTPS
1、阿里云申请 ssl 证书,个人免费 3 个月,3 个月后要重新申请,且,每个子域名也要一个ssl证书。

2、申请成功后,下载证书,放到服务器上。
3、通过 nginx.conf 配置证书。
4、重启 nignx。
评论交流
欢迎留下你的想法