#docker #reverse-proxy #centos8
Вопрос:
Я использую MEGACmd для запуска сервера wevdav на хосте на порту 4443. Я могу получить доступ к порту на хосте:
$ curl 127.0.0.1:4443
<title>MEGA</title><head><meta charset="utf-8" /><style>...
В моем контейнере nextcloud я могу получить доступ к хосту:
$ docker exec -ti nextcloud_NCFrontend_1 bash
root@fab88ddd175e:/var/www/html# curl 172.17.0.1
<html>
<head><title>503 Service Temporarily Unavailable</title></head>
<body>
<center><h1>503 Service Temporarily Unavailable</h1></center>
<hr><center>nginx</center>
</body>
</html>
но я не могу получить доступ к порту 4443
root@fab88ddd175e:/var/www/html# curl 172.17.0.1:4443
curl: (7) Failed to connect to 172.17.0.1 port 4443: Connection refused
для отладки я отключил SELinux и брандмауэр и все еще не работаю
файл докера nextcloud
version: "3.7"
services:
NCDatabase:
image: "mariadb:10.5.9"
volumes:
- "NCMariaDB:/var/lib/mysql"
environment:
- MYSQL_ROOT_PASSWORD
- MYSQL_RANDOM_ROOT_PASSWORD
- MYSQL_DATABASE
- MYSQL_USER
- MYSQL_PASSWORD
restart: "on-failure"
networks: ["common"]
NCFrontend:
image: "nextcloud:21.0.0"
volumes:
- "NCData:/var/www/html"
environment:
- LETSENCRYPT_HOST
- VIRTUAL_HOST
- TRUSTED_PROXIES
- OVERWRITEPROTOCOL
- MYSQL_DATABASE
- MYSQL_USER
- MYSQL_PASSWORD
- MYSQL_HOST
- SMTP_HOST
- SMTP_PORT
- SMTP_NAME
- SMTP_PASSWORD
- MAIL_FROM_ADDRESS
- NEXTCLOUD_TRUSTED_DOMAINS
- NEXTCLOUD_ADMIN_USER
- NEXTCLOUD_ADMIN_PASSWORD
depends_on:
- "NCDatabase"
networks: ["net", "common"]
restart: "always"
volumes:
NCMariaDB:
NCData:
networks:
net:
external: true
common:
файл настройки обратного прокси-сервера
version: "3.7"
services:
reverse-proxy:
image: "jwilder/nginx-proxy:latest"
container_name: "reverse-proxy"
volumes:
- "html:/usr/share/nginx/html"
- "dhparam:/etc/nginx/dhparam"
- "vhost:/etc/nginx/vhost.d"
- "certs:/etc/nginx/certs"
- "/run/docker.sock:/tmp/docker.sock:ro"
restart: "always"
networks:
- "net"
ports:
- "80:80"
- "443:443"
letsencrypt:
image: "jrcs/letsencrypt-nginx-proxy-companion:latest"
container_name: "letsencrypt-helper"
volumes:
- "html:/usr/share/nginx/html"
- "dhparam:/etc/nginx/dhparam"
- "vhost:/etc/nginx/vhost.d"
- "certs:/etc/nginx/certs"
- "/run/docker.sock:/var/run/docker.sock:ro"
environment:
NGINX_PROXY_CONTAINER: "reverse-proxy"
DEFAULT_EMAIL: "user@domain.com"
restart: "always"
depends_on:
- "reverse-proxy"
networks:
- "net"
volumes:
certs:
html:
vhost:
dhparam:
networks:
net:
external: true
Комментарии:
1. пожалуйста, поделитесь командой, которую вы используете для запуска этих контейнеров, или файлом создания блокировки
2. В
172.17.0.1
каких портах они открыты ? и этот ip-адрес для какого контейнера ?3. 172.17.0.1-это IP — адрес хоста, так как брандмауэр отключен. я предполагаю, что все порты открыты