Итак, я работаю над сценарием docker-compose
для создания реализации веб-хостинга. Вот мой docker-compose.yml
version: '3'
services:
#this is a supporting app for my main app.
keymanager:
image: keymanager
deploy:
replicas: 1
ports:
- '3220:3220'
networks:
- privnet
#this is my application
app:
image: app
depends_on:
- keymanager
deploy:
replicas: 1
ports:
- '3201:3201'
networks:
- privnet
- web
certbot:
image: certbot/certbot
volumes:
- ./certbot/conf:/etc/letsencrypt
- ./certbot/www:/var/www/certbot
entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'"
nginx:
image: nginx:alpine
deploy:
replicas: 1
command: '/bin/sh -c ''while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g "daemon off;"'''
volumes:
- ./nginx:/etc/nginx/conf.d/
- ./certbot/conf:/etc/letsencrypt
- ./certbot/www:/var/www/certbot
ports:
- 8001:80
- 4431:443
networks:
- web
ddclient:
image: linuxserver/ddclient
environment:
- PGID=1000
- PUID=1000
- TZ=Americas/NewYork
volumes:
- ./ddclient:/config
networks:
- web
networks:
privnet:
internal: true
web:
У меня фоновое приложение, прослушивающее порт 3201, и я полагаю, что nginx настроен на proxy_pass для этого порта в сети докеров. Это моя (очень простая) конфигурация:
server {
listen 80;
server_name <domainName.tld>;
location / {
return 301 https://$host$request_uri;
}
location /.well-known/acme-challenge/ {
root /var/www/certbot;
}
}
server {
listen 443 ssl;
server_name christopherrutherford.net;
ssl_certificate /etc/letsencrypt/live/<domainName.tld>/fullchain.pem;
ssl_certificate /etc/letsencrypt/live/<domainName.tld>/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
location / {
proxy_pass app:3201;
}
}
У меня также есть linuxserver/ddclient
и мои настройки GoogleDNS.
который должен указывать мой домен на мой локальный IP-адрес, и я открыл порты на своем брандмауэре на хосте и маршрутизаторе, но, похоже, я ничего не получу с этим. Я захожу в свой домен и получаю тайм-аут. Я также захожу на порт nginx локально (используя localhost в браузере) и получаю тайм-аут.
вот мой ddclient.conf
protocol=dyndns2
use=web
server=domains.google.com
ssl=yes
login=<from goog.dns>
password=<from goog.ddns>
@.<domainName.tld>
Я что-то упустил в своей конфигурации?