Dinghy HTTP Proxy 项目使用教程

Dinghy HTTP Proxy 项目使用教程

dinghy-http-proxy the http proxy container that dinghy uses 项目地址: https://gitcode.com/gh_mirrors/di/dinghy-http-proxy

1. 项目介绍

Dinghy HTTP Proxy 是一个用于本地开发环境的 HTTP 代理和 DNS 服务器。它基于 jwilder 的优秀项目 nginx-proxy,并进行了修改以更适合本地开发工作。该项目的主要功能包括:

  • HTTP 代理:自动将容器暴露的端口代理到 HTTP 端口。
  • DNS 解析:默认情况下,将所有 *.docker 域名解析到 Docker VM。
  • SSL 支持:支持使用单主机证书的 SSL。
  • CORS 支持:允许跨域请求。
  • Docker Compose 支持:自动生成基于 Docker Compose 项目的域名。

2. 项目快速启动

2.1 安装 Docker

确保你已经安装了 Docker。如果没有安装,请参考 Docker 官方文档进行安装。

2.2 启动 Dinghy HTTP Proxy

在终端中运行以下命令来启动 Dinghy HTTP Proxy:

docker run -d --restart=always \
  -v /var/run/docker.sock:/tmp/docker.sock:ro \
  -v ~/dinghy/certs:/etc/nginx/certs \
  -p 80:80 -p 443:443 -p 19322:19322/udp \
  -e DNS_IP=127.0.0.1 \
  -e CONTAINER_NAME=http-proxy \
  --name http-proxy \
  codekitchen/dinghy-http-proxy

2.3 配置 DNS 解析

在 macOS 上,创建一个文件 /etc/resolver/docker,并添加以下内容:

nameserver 127.0.0.1
port 19322

2.4 启动你的应用容器

假设你有一个 Docker Compose 项目,启动你的应用容器:

docker-compose up -d

2.5 访问你的应用

现在,你可以通过 http://<service>.<project>.docker 访问你的应用。例如,如果你的项目名为 myapp,服务名为 web,则可以通过 http://web.myapp.docker 访问。

3. 应用案例和最佳实践

3.1 多主机配置

如果你需要为容器配置多个虚拟主机,可以在容器的环境变量中设置 VIRTUAL_HOST,多个主机名用逗号分隔:

environment:
  - VIRTUAL_HOST=foo.bar.com,baz.bar.com

3.2 SSL 支持

要启用 SSL,将你的证书和私钥放在 ~/dinghy/certs 目录下,文件名格式为 <virtual_host>.crt<virtual_host>.key。例如:

~/dinghy/certs/foo.bar.com.crt
~/dinghy/certs/foo.bar.com.key

3.3 CORS 支持

要启用 CORS,设置环境变量 CORS_ENABLED=true,并可以指定 CORS_DOMAINS 来白名单特定域名:

environment:
  - CORS_ENABLED=true
  - CORS_DOMAINS=http://example.com,https://another.com

4. 典型生态项目

4.1 Docker Compose

Dinghy HTTP Proxy 与 Docker Compose 紧密集成,自动为每个 Docker Compose 项目生成域名,简化了本地开发环境的配置。

4.2 Nginx

Dinghy HTTP Proxy 基于 Nginx,提供了强大的反向代理功能,支持多种配置选项,如 SSL、CORS 等。

4.3 Docker Machine

如果你使用 Docker Machine 来管理 Docker 主机,Dinghy HTTP Proxy 可以无缝集成,提供一致的开发体验。

通过以上步骤,你可以快速启动并配置 Dinghy HTTP Proxy,享受本地开发环境的便利。

dinghy-http-proxy the http proxy container that dinghy uses 项目地址: https://gitcode.com/gh_mirrors/di/dinghy-http-proxy

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

姬如雅Brina

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值