我正在尝试在Debian10VM中创建一个带有https、mysql和docker-组合的nextcloud设置,但是当我访问https://cloud.example.org时,我的浏览器说它无法到达。如果我访问链接https://example.org,它会给出以下页面:
示例域
此域用于文档中的示例说明。您可以在文献中使用此领域,而无需事先协调或请求许可。
这是我的docker-复合. file文件
version: '3'
services:
nginx-proxy:
image: jwilder/nginx-proxy:alpine
labels:
- "com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy=true"
container_name: nextcloud-proxy
networks:
- nextcloud_network
ports:
- 80:80
- 443:443
volumes:
- /home/dev/nextcloud-data/nginx/vhost.d:/etc/nginx/vhost.d:rw
- /home/dev/nextcloud-data/nginx/html:/usr/share/nginx/html:rw
- /home/dev/nextcloud-data/nginx/certs:/etc/nginx/certs:ro
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/tmp/docker.sock:ro
restart: unless-stopped
letsencrypt:
image: jrcs/letsencrypt-nginx-proxy-companion
container_name: nextcloud-letsencrypt
depends_on:
- nginx-proxy
networks:
- nextcloud_network
volumes:
- /home/dev/nextcloud-data/nginx/vhost.d:/etc/nginx/vhost.d:rw
- /home/dev/nextcloud-data/nginx/html:/usr/share/nginx/html:rw
- /home/dev/nextcloud-data/nginx/certs:/etc/nginx/certs:rw
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
restart: unless-stopped
mysql:
image: mariadb
container_name: nextcloud-mysql
networks:
- nextcloud_network
volumes:
- /home/dev/nextcloud-data/database/mysql:/var/lib/mysql
- /etc/localtime:/etc/localtime:ro
environment:
- MYSQL_ROOT_PASSWORD=mysql_root_testpassword
- MYSQL_PASSOWRD=nexcloud_testp@ssw0rd
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
restart: unless-stopped
nextcloud-app:
image: nextcloud:latest
container_name: nextcloud-app
networks:
- nextcloud_network
depends_on:
- letsencrypt
- nginx-proxy
- mysql
volumes:
- /home/dev/nextcloud-data/data/html:/var/www/html
- /home/dev/nextcloud-data/data/config:/var/www/html/config
- /home/dev/nextcloud-data/data/data:/var/www/html/data
- /home/dev/nextcloud-data/data/themes:/var/www/html/themes
- /etc/localtime:/etc/localtime:ro
environment:
- VIRTUAL_HOST=cloud.example.org
- LETSENCRYPT_HOST=cloud.example.org
- LETSENCRYPT_EMAIL=root@example.org
restart: unless-stopped
networks:
nextcloud_network:如果我运行这个命令:
curl -I https://example.org产出如下:
HTTP/2 200
content-encoding: gzip
accept-ranges: bytes
age: 427989
cache-control: max-age=604800
content-type: text/html; charset=UTF-8
date: Tue, 21 Sep 2021 18:33:43 GMT
etag: "3147526947"
expires: Tue, 28 Sep 2021 18:33:43 GMT
last-modified: Thu, 17 Oct 2019 07:18:26 GMT
server: ECS (dcb/7EEF)
x-cache: HIT
content-length: 648用于指挥
curl -I https://cloud.example.org产出如下:
curl: (6) Could not resolve host: cloud.example.org发布于 2021-09-22 09:48:54
一个URL只存在于我们人类,机器在IP地址上工作。当您将浏览器指向该地址时,您的系统实际上会进行DNS查询,以查找相应的IP地址并连接到该地址。https://example.com是一个为文档目的提供的网页,有一个运行web服务的实际系统,该系统具有实际的IP地址,并且为了使它能够访问,有相应的DNS条目。
无法联系到cloud.example.com的原因很简单,因为没有人提供任何可以通过该DNS名称访问的服务。因此,没有相应的IP地址,也没有DNS条目。由于IANA为文档目的保留了example.com,它的子域(如cloud.example.com )经常用于培训材料,例如示例。
如果要使用此DNS名称进行测试,可以在您自己的intranet中设置服务器以提供某些服务。您还可以设置内部DNS服务器并创建适当的条目,或者只需将名称和相应(私有) IP地址添加到您试图使用的系统的主机文件中。
https://unix.stackexchange.com/questions/670012
复制相似问题