问题描述
假设我们有一个使用 Django 构建的 Web 应用程序,它使用命令“docker-compose up
”部署为 docker。现在我们已经部署并运行了网络应用。
18b01238718d app_test:latest "/app/entrypoints/ap…" 5 minutes ago Up 5 minutes (healthy) 8001/tcp,0.0.0.0:8002->8002/tcp test_api
2b8f3b48d1e4 app_test:latest "/app/entrypoints/cr…" 5 minutes ago Up 5 minutes 8001-8002/tcp test_cron
a2413139919e app_test:latest "/app/entrypoints/ad…" 5 minutes ago Up 5 minutes (healthy) 0.0.0.0:8001->8001/tcp,8002/tcp test_admin
4e76dbee107d postgres:12.5 "docker-entrypoint.s…" 5 minutes ago Up 5 minutes 5432/tcp test_db
我们可以使用IP:8001访问该站点
我们如何使用 caddy 以 IP:80 访问该站点?
我做了什么:
install Caddy and verified it is running.
systemctl status caddy
● caddy.service - Caddy
Loaded: loaded (/usr/lib/systemd/system/caddy.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2021-04-03 13:54:11 UTC; 3s ago
访问 mydomain:80 时给出
您的网络服务器正在运行。现在让它为你工作。 ?
Caddy is ready to serve your site over HTTPS:
Point your domain's A/AAAA DNS records at this machine.
Upload your site's files to /var/www/html.
Edit your Caddyfile at /etc/caddy/Caddyfile:
Replace :80 with your domain name
Change the site root to /var/www/html
Reload the configuration: systemctl reload caddy
Visit your site!
然后,我编辑了/etc/caddy/Caddyfile:如下
mydomain.com
# Set this path to your site's directory.
root * /usr/share/caddy (I believe this should point to my volume of my docker web app. but I don't kNow how we can do that. any help is appreciated. )
# Enable the static file server.
file_server
# Another common task is to set up a reverse proxy:
# reverse_proxy localhost:8080
# Or serve a PHP site through PHP-fpm:
# PHP_fastcgi localhost:9000
# Refer to the Caddy docs for more information:
# https://caddyserver.com/docs/caddyfile
www.mydonmain.com {
reverse_proxy 127.0.0.1:8001
}
api.mydonmain.com {
reverse_proxy 127.0.0.1:8002
}
root * /usr/share/caddy
(我相信这应该指向我的 docker 网络应用程序的容量。但我不知道我们如何做到这一点,因为网络应用程序是使用 docker-compose 卷“运行”的。感谢任何帮助。)
systemctl status caddy
之后我得到了什么
Apr 03 15:05:34 web-centos caddy[54954]: {"level":"info","ts":1617462334.6150506,"logger":"tls.issuance.acme","msg":"done waiting on internal rate limiter","identifiers":["mydomain.com"]}
Apr 03 15:05:34 web-centos caddy[54954]: {"level":"info","ts":1617462334.8799675,"logger":"tls.issuance.acme.acme_client","msg":"trying to solve challenge","identifier":"mydomain.com","challenge_type":"tl>
Apr 03 15:05:35 web-centos caddy[54954]: {"level":"info","ts":1617462335.2093322,"logger":"tls","msg":"served key authentication certificate","server_name":"mydomain.com","challenge":"tls-alpn-01","remote>
Apr 03 15:05:35 web-centos caddy[54954]: {"level":"info","ts":1617462335.286796,"remote">
Apr 03 15:05:35 web-centos caddy[54954]: {"level":"info","ts":1617462335.3579297,"ts":1617462335.4760425,"remote>
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)