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

592
Views
Mailu con docker en una Raspberry Pi que ejecuta un servidor web nginx "nativo"

Configuré Nextcloud en una Raspberry Pi 4 con Ubuntu Server 18.04.4 de 64 bits, siguiendo la guía de Carsten Rieger, por lo que ahora la Pi está instalada y ejecuta nginx. Luego, usando la configuración de Mailu , instalé un servidor de correo con Docker Compose. Cambié la configuración estándar porque los puertos 80 y 443 en conflicto utilizados por nginx "nativo" y nginx "docker container", por lo que en el contenedor uso 8080 y 8443.

¿Cómo debo configurar nginx nativo para que cuando visite mi mail.mydomain.com redirija a los puertos 8080 y 8443? ¿Cómo puedo obtener certificados para HTTPS para mail.mydomain.com con Let's Encrypt?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Si entiendo que su problema es correcto, le gusta usar nginx en el host como un servidor proxy para redirigir el tráfico al contenedor docker.

Extienda su nginx.conf en el host:

 http { ... # redirect http to https from your domain server { listen 80; server_name localhost, <your domain>, <secondary domain>; return 301 https://<your domain>$request_uri; } # simple reverse-proxy server { listen 443; server_name localhost, <your domain>, <secondary domain>; ssl on; # if you use let's encrypt (certbot) /etc/letsencrypt/live/<your domain>/fullchain.pem ssl_certificate <path to certificate>; # if you use let's encrypt (certbot) /etc/letsencrypt/live/<your domain>/privkey.pem ssl_certificate_key <path to key>; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # don't use SSLv3 ref: POODLE client_max_body_size 200M; # pass requests for dynamic content to rails/turbogears/zope, et al location / { proxy_pass http://localhost:8080; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forward-Proto http; proxy_set_header X-Nginx-Proxy true; proxy_redirect off; } } ... }

A su segunda pregunta, sí, puede usar Let's Encrypt para obtener el certificado. Ya sea de forma independiente o con el complemento nginx.

 $ sudo add-apt-repository ppa:certbot/certbot $ sudo apt-get update $ sudo apt-get install python-certbot-nginx

Obtenga su certificado sin el complemento nginx (primero debe detener el nginx porque certbot usa el puerto 80)

 $ sudo certbot certonly --standalone -d <your domain> -d <secondary domain>

Obtenga su certificado con el complemento nginx

 $ sudo certbot --nginx -d <your domain> -d <secondary domain>

En cualquier caso, debe volver a cargar el nginx después de recuperar o renovar un certificado:

 $ sudo service nginx reload
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!