Tengo un sitio web con docker y uso caddy para la producción. Esta es mi configuración en mi 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 }Esta configuración funciona bien cuando uso mydomain.com , pero cuando intento acceder al servidor por IP me devuelve el siguiente error:
404 Site 156.130.11.8 is not served on this interface Intenté usar * , 156.130.11.8 y :80
* { proxy / django:5000... ... 156.130.11.8 { proxy / django:5000... ...Nada de esto está funcionando tampoco, ¿alguien de ustedes sabe cómo puedo solucionar esto?
EDITAR: El código está aquí: https://github.com/maguayo/django-starter-api La configuración de Caddy está en compose/production/caddy/ también la configuración que estoy ejecutando está en " production.yml "
Según estos tutoriales:
https://www.digitalocean.com/community/tutorials/how-to-host-a-website-with-caddy-on-ubuntu-16-04
https://www.booleanworld.com/host-sitio-web-caddy-servidor-web-linux/
https://caddyserver.com/docs/caddyfile-tutorial
su servidor Caddy debe servir el sitio web en su ip usando el puerto 80 usando una de las siguientes configuraciones:
* { proxy / django:5000... ... 156.130.11.8 { proxy / django:5000... ... :80 { proxy / django:5000... ... http:// { proxy / django:5000... ... Tal vez http://156.130.11.8 { proxy / django:5000 ... } haga el trabajo. También intente usar localhost en lugar de la dirección IP de esta manera:
localhost { proxy / django:5000... ... } http://localhost { proxy / django:5000... ... }¡Buena suerte!
¿Es posible que su Django settings.py solo tenga mydomain.com como host permitido y no la IP? De esa manera, el servidor debería devolver algo como "no se sirve en esta interfaz" y no debería cuando se usa el nombre de dominio.
Experimenté un problema similar hace algún tiempo, no con Caddy sino con Apache también en Ubuntu. También explicaría por qué cambiar la configuración de Caddy no resuelve el problema, ya que es correcto.
settings.py debería tener una línea como
ALLOWED_HOSTS = [IP, 'mydomain.com']Puede encontrar más información sobre este parámetro en la documentación .