Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

398
Views
Access a Caddy server by IP

I have a website with docker and I use caddy for production. This is my configuration on my 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
}

This configuration works well when I use mydomain.com, but when I try to access the server by IP it returns me the following error:

404 Site 156.130.11.8 is not served on this interface

I've tried using *, 156.130.11.8, and :80

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

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

None of this is working either, does anyone of you know how can I solve this?

EDIT: The code is here: https://github.com/maguayo/django-starter-api Caddy configuration is under compose/production/caddy/ also the configuration I am running is on "production.yml"

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

According to these tutorials:

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

your Caddy server should serve the website on your ip using port 80 using one of the follwing configurations:

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

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

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

http:// {
    proxy / django:5000...
    ...

Maybe http://156.130.11.8 { proxy / django:5000 ... } will do the job. Also try to use localhost instead of the ip address like this:

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

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

Good luck!

over 4 years ago · Santiago Trujillo Report

0

Is it possible that your Django settings.py only has the mydomain.com as allowed host and not the IP? That way the server should return something like "is not served on this interface" and it shouldn't when the domain name is used.

I experienced a similar problem some time ago, not with Caddy but Apache also on Ubuntu. It would also explain why changing your Caddy config doesn't solve the problem, as it is correct.

settings.py should have a line like

ALLOWED_HOSTS = [IP, 'mydomain.com']

More on this parameter can be found in the documentation.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!