通过IP访问Caddy服务器

Mar*_*ayo 11 docker docker-compose caddy caddyfile

我有一个带有docker的网站,并且使用caddy进行生产。这是我的配置Caddyfile

mydomain.com {
    proxy / django:5000 {
        header_upstream Host {host}
        header_upstream X-Real-IP {remote}
        header_upstream X-Forwarded-Proto {scheme}
        header_upstream X-CSRFToken {~csrftoken}
    }
    log stdout
    errors stdout
    gzip
}
Run Code Online (Sandbox Code Playgroud)

当我使用mydomain.com时此配置效果很好,但是当我尝试通过IP访问服务器时,它返回以下错误:

404 Site 156.130.11.8 is not served on this interface
Run Code Online (Sandbox Code Playgroud)

我已经尝试使用*156.130.11.8:80

* {
    proxy / django:5000...
    ...

156.130.11.8 {
    proxy / django:5000...
    ...
Run Code Online (Sandbox Code Playgroud)

这一切都不起作用,你们当中有人知道我该如何解决吗?

编辑:代码在这里:https : //github.com/maguayo/django-starter-api 球童配置位于compose / production / caddy /下,我正在运行的配置位于“ production.yml ”上

Mar*_*lar 5

根据这些教程:

https://www.digitalocean.com/community/tutorials/how-to-host-a-website-with-caddy-on-ubuntu-16-04

https://www.booleanworld.com/host-website-caddy-web-server-linux/

https://caddyserver.com/docs/caddyfile-tutorial

您的 Caddy 服务器应该使用以下配置之一使用端口 80 为您的 ip 上的网站提供服务:

* {
    proxy / django:5000...
    ...

156.130.11.8 {
    proxy / django:5000...
    ...

:80 {
    proxy / django:5000...
    ...

http:// {
    proxy / django:5000...
    ...
Run Code Online (Sandbox Code Playgroud)

也许http://156.130.11.8 { proxy / django:5000 ... }会完成这项工作。也尝试使用localhost这样的 ip 地址代替:

localhost {
    proxy / django:5000...
    ...
}

http://localhost {
    proxy / django:5000...
    ...
}
Run Code Online (Sandbox Code Playgroud)

祝你好运!