[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-2478":3},{"id":4,"name":5,"fullName":6,"owner":5,"repo":5,"description":7,"homepage":8,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":17,"compositeScore":19,"rankGlobal":9,"rankLanguage":9,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":9,"pushedAt":9,"updatedAt":29,"readmeContent":30,"aiSummary":31,"trendingCount":15,"starSnapshotCount":15,"syncStatus":32,"lastSyncTime":33,"discoverSource":34},2478,"nginx-proxy","nginx-proxy\u002Fnginx-proxy","Automated Nginx Reverse Proxy for Docker","",null,"Python",19858,3051,258,293,0,1,8,29,45,"MIT License",false,"main",true,[25,26,27,28],"docker","docker-gen","nginx","reverse-proxy","2026-06-12 02:00:41","[![Test](https:\u002F\u002Fgithub.com\u002Fnginx-proxy\u002Fnginx-proxy\u002Factions\u002Fworkflows\u002Ftest.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fnginx-proxy\u002Fnginx-proxy\u002Factions\u002Fworkflows\u002Ftest.yml)\n[![GitHub release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fnginx-proxy\u002Fnginx-proxy)](https:\u002F\u002Fgithub.com\u002Fnginx-proxy\u002Fnginx-proxy\u002Freleases)\n[![nginx 1.29.8](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fnginx-1.29.8-brightgreen.svg?logo=nginx)](https:\u002F\u002Fnginx.org\u002Fen\u002FCHANGES)\n[![Docker Image Size](https:\u002F\u002Fimg.shields.io\u002Fdocker\u002Fimage-size\u002Fnginxproxy\u002Fnginx-proxy?sort=semver)](https:\u002F\u002Fhub.docker.com\u002Fr\u002Fnginxproxy\u002Fnginx-proxy \"Click to view the image on Docker Hub\")\n[![Docker stars](https:\u002F\u002Fimg.shields.io\u002Fdocker\u002Fstars\u002Fnginxproxy\u002Fnginx-proxy.svg)](https:\u002F\u002Fhub.docker.com\u002Fr\u002Fnginxproxy\u002Fnginx-proxy \"DockerHub\")\n[![Docker pulls](https:\u002F\u002Fimg.shields.io\u002Fdocker\u002Fpulls\u002Fnginxproxy\u002Fnginx-proxy.svg)](https:\u002F\u002Fhub.docker.com\u002Fr\u002Fnginxproxy\u002Fnginx-proxy \"DockerHub\")\n\nnginx-proxy sets up a container running nginx and [docker-gen](https:\u002F\u002Fgithub.com\u002Fnginx-proxy\u002Fdocker-gen). docker-gen generates reverse proxy configs for nginx and reloads nginx when containers are started and stopped.\n\nSee [Automated Nginx Reverse Proxy for Docker](http:\u002F\u002Fjasonwilder.com\u002Fblog\u002F2014\u002F03\u002F25\u002Fautomated-nginx-reverse-proxy-for-docker\u002F) for why you might want to use this.\n\n### Usage\n\nTo run it:\n\n```shell\ndocker run --detach \\\n    --name nginx-proxy \\\n    --publish 80:80 \\\n    --volume \u002Fvar\u002Frun\u002Fdocker.sock:\u002Ftmp\u002Fdocker.sock:ro \\\n    nginxproxy\u002Fnginx-proxy:1.10\n```\n\nThen start any containers (here an nginx container) you want proxied with an env var `VIRTUAL_HOST=subdomain.yourdomain.com`\n\n```shell\ndocker run --detach \\\n    --name your-proxied-app \\\n    --env VIRTUAL_HOST=foo.bar.com \\\n    nginx\n```\n\nProvided your DNS is setup to resolve `foo.bar.com` to the host running nginx-proxy, a request to `http:\u002F\u002Ffoo.bar.com` will then be routed to a container with the `VIRTUAL_HOST` env var set to `foo.bar.com` (in this case, the **your-proxied-app** container).\n\nThe containers being proxied must :\n\n- [expose](https:\u002F\u002Fdocs.docker.com\u002Fengine\u002Freference\u002Frun\u002F#expose-incoming-ports) the port to be proxied, either by using the `EXPOSE` directive in their `Dockerfile` or by using the `--expose` flag to `docker run` or `docker create`.\n- share at least one Docker network with the nginx-proxy container: by default, if you don't pass the `--net` flag when your nginx-proxy container is created, it will only be attached to the default bridge network. This means that it will not be able to connect to containers on networks other than bridge.\n\nNote: providing a port number in `VIRTUAL_HOST` isn't suported, please see [virtual ports](https:\u002F\u002Fgithub.com\u002Fnginx-proxy\u002Fnginx-proxy\u002Ftree\u002Fmain\u002Fdocs#virtual-ports) or [custom external HTTP\u002FHTTPS ports](https:\u002F\u002Fgithub.com\u002Fnginx-proxy\u002Fnginx-proxy\u002Ftree\u002Fmain\u002Fdocs#custom-external-httphttps-ports) depending on what you want to achieve.\n\n### Image variants\n\nThe nginx-proxy images are available in two flavors.\n\n#### Debian based version\n\nThis image is based on the nginx:mainline image, itself based on the debian slim image.\n\n```shell\ndocker pull nginxproxy\u002Fnginx-proxy:1.10\n```\n\n#### Alpine based version (`-alpine` suffix)\n\nThis image is based on the nginx:alpine image.\n\n```shell\ndocker pull nginxproxy\u002Fnginx-proxy:1.10-alpine\n```\n\n> [!IMPORTANT]\n>\n> #### A note on `latest` and `alpine`:\n>\n> It is not recommended to use the `latest` (`nginxproxy\u002Fnginx-proxy`, `nginxproxy\u002Fnginx-proxy:latest`) or `alpine` (`nginxproxy\u002Fnginx-proxy:alpine`) tag for production setups.\n>\n> [Those tags point](https:\u002F\u002Fhub.docker.com\u002Fr\u002Fnginxproxy\u002Fnginx-proxy\u002Ftags) to the latest commit in the `main` branch. They do not carry any promise of stability, and using them will probably put your nginx-proxy setup at risk of experiencing uncontrolled updates to non backward compatible versions (or versions with breaking changes). You should always specify the version you want to use explicitly to ensure your setup doesn't break when the image is updated.\n\n### Additional documentation\n\nPlease check the [docs section](https:\u002F\u002Fgithub.com\u002Fnginx-proxy\u002Fnginx-proxy\u002Ftree\u002Fmain\u002Fdocs).\n\n### Powered by \n\n[![GoLand logo](https:\u002F\u002Fresources.jetbrains.com\u002Fstorage\u002Fproducts\u002Fcompany\u002Fbrand\u002Flogos\u002FGoLand_icon.svg)](https:\u002F\u002Fwww.jetbrains.com\u002Fgo\u002F)\n[![PyCharm logo](https:\u002F\u002Fresources.jetbrains.com\u002Fstorage\u002Fproducts\u002Fcompany\u002Fbrand\u002Flogos\u002FPyCharm_icon.svg)](https:\u002F\u002Fwww.jetbrains.com\u002Fpycharm\u002F)\n\n## About this repository\n> [!NOTE]\n> This repository is officially maintained by \u003Cstrong>ZeroSSL\u003C\u002Fstrong> as part of our commitment to secure and reliable SSL\u002FTLS solutions.  \n> We welcome contributions and feedback from the community!  \n> For more information about our services, including free and paid SSL\u002FTLS certificates, visit https:\u002F\u002Fzerossl.com.\n\u003Cp align=\"center\">\n\t\u003Ca href=\"https:\u002F\u002Fzerossl.com\">\n\t\t\u003Cpicture>\n\t\t\t\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fzerossl.com\u002Fassets\u002Fimages\u002Fzerossl_logo_white.svg\">\n\t\t\t\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Fzerossl.com\u002Fassets\u002Fimages\u002Fzerossl_logo.svg\">\n\t\t\t\u003Cimg src=\"https:\u002F\u002Fzerossl.com\u002Fassets\u002Fimages\u002Fzerossl_logo.svg\" alt=\"ZeroSSL\" width=\"256\">\n\t\t\u003C\u002Fpicture>\n\t\u003C\u002Fa>\n\u003C\u002Fp>\n","nginx-proxy 是一个用于 Docker 的自动化 Nginx 反向代理项目。它通过运行 Nginx 和 docker-gen 容器来动态生成和更新反向代理配置，每当有新的容器启动或停止时，自动重新加载 Nginx 配置以保持最新的路由规则。此项目特别适合需要在多个 Docker 容器之间进行负载均衡或者域名解析的场景，如微服务架构下的前端路由分发。支持自定义虚拟主机名，并且要求被代理的服务需暴露相应的端口并与 nginx-proxy 容器处于同一网络中。",2,"2026-06-11 02:50:04","top_language"]