在我的第一个主服务器死了很多年后,我决定再要一台。这一次,为了学习和具有更多的灵活性,我使用了码头容器。问题是,我已经用nginx和“让我们的氪星伙伴”建立了一个反向代理,以提供SSL加密&以避免在我的路由器上转发更多端口。
这几乎是完美无缺的工作,从我的手机与移动数据,或从一个完全不同的网络,我可以访问我的服务,没有任何问题。当我试图在同一个LAN中访问时,问题就出现了,我可以访问1/10次nad,我得到了其他9/10的超时。
我试图连接的方式没有什么不同;在这两种情况下,vía都是一个使用<subdomain>.<domain>作为URL的web浏览器。
这是我目前的集装箱:

至于我当前的坞-撰写文件,它是这样的:
version: '3'
services:
reverse-proxy:
image: jwilder/nginx-proxy
ports:
- '80:80'
- '443:443'
container_name: reverse-proxy
networks:
service_network: null
volumes:
- '/var/run/docker.sock:/tmp/docker.sock:ro'
- '.\nginx\certs:/etc/nginx/certs'
- '.\nginx\vhosts:/etc/nginx/vhost.d'
- '.\nginx\html:/usr/share/nginx/html'
ACME-SSL:
image: jrcs/letsencrypt-nginx-proxy-companion
depends_on:
- reverse-proxy
environment:
NGINX_PROXY_CONTAINER: reverse-proxy
networks:
service_network: null
volumes:
- '/var/run/docker.sock:/var/run/docker.sock:ro'
- '.\nginx\certs:/etc/nginx/certs'
- '.\nginx\vhosts:/etc/nginx/vhost.d'
- '.\nginx\html:/usr/share/nginx/html'
nginx:
image: nginx
depends_on:
- reverse-proxy
ports:
- '8080:80'
expose:
- 8080
environment:
- NGINX_HOST=<DOMAIN>
- NGINX_PORT=80
- HTTP_PORT=8080
- VIRTUAL_HOST=<DOMAIN>
- LETSENCRYPT_HOST=<DOMAIN>
- LETSENCRYPT_EMAIL=<EMAIL>
networks:
service_network: null
volumes:
- '.\<DIRECTORY>:/usr/share/nginx/html'
koel:
image: hyzual/koel
depends_on:
- reverse-proxy
- database
ports:
- '8000:80'
expose:
- 8000
environment:
- HTTP_PORT=8000
- VIRTUAL_HOST=<SUBDOMAIN>.<DOMAIN>
- LETSENCRYPT_HOST=<SUBDOMAIN>.<DOMAIN>
- LETSENCRYPT_EMAIL=<EMAIL>
- DB_CONNECTION=mysql
- DB_HOST=database
- DB_USERNAME=koel
- DB_PASSWORD=<PASS>
- DB_DATABASE=koel
- FORCE_HTTPS=true
- LASTFM_API_KEY=<API_SECRET>
- LASTFM_API_SECRET=<API_KEY>
networks:
service_network: null
db_network: null
volumes:
- '/e/musica:/music'
- '.\koel\covers:/var/www/html/public/img/covers'
- '.\koel\search_index:/var/www/html/storage/search-indexes'
database:
image: 'mysql/mysql-server:5.7'
volumes:
- '.\mysql:/var/lib/mysql'
environment:
- MYSQL_ROOT_PASSWORD=<PASS>
- MYSQL_DATABASE=koel
- MYSQL_USER=koel
- MYSQL_PASSWORD=<PASS>
networks:
db_network: null
networks:
service_network:
driver: bridge
db_network:
driver: bridge*我已经将一些值更改为< >之间的描述,因为它们包含私有信息。
发布于 2021-06-06 16:55:43
如果您的域映射到您的路由器的广域网IP,可能是路由器拒绝从网络内部将流量发送回它。
如果是这样的话,您可以将域名和反向代理的IP写到/etc/host,然后测试连接,从而排除这种可能性。
永久修复将要求您在路由器的DNS重写中运行拆分DNS或维护此主机名到IP映射,如果它有此选项的话。
https://serverfault.com/questions/1065857
复制相似问题