带有 nginx 反向代理的 Docker Caddy

问题描述

我正在尝试使用此软件包 https://github.com/PARC6502/docker-onlyoffice-nextcloud-caddy 在私有服务器上部署 nextcloud docker 映像。 由于我的服务器已经运行了一个 nginx 服务,我不得不将 docker-compose.yaml 文件修改为代理端口 80 和 443 到 8080 和 8443。

caddy:
  container_name: nextcloud-caddy
  image: abiosoft/caddy:no-stats
  stdin_open: true
  tty: true
  restart: always
  ports:
    - 8080:80
    - 8443:443
  networks:
    - onlyoffice
  environment:
    - CADDYPATH=/certs
    - ACME_AGREE=true
    - [email protected]
    - CADDY_EXTERNAL_DOMAIN=cloud.my-domain.com
  volumes:
    - ./data/letsencrypt:/certs:rw
    - ./Caddyfile:/etc/Caddyfile:ro

我现在的问题是我想在我的服务器上设置一个反向代理来代理 docker caddy。 我已经尝试过这种配置,但直到我在 url 末尾添加 8443 端口后它才起作用。

server {
  server_name cloud.my-domain.com;

  location / {
    proxy_pass http://127.0.0.1:8443;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
  }

  listen 443 ssl; # managed by Certbot
  ssl_certificate /etc/letsencrypt/live/cloud.my-domain.com/fullchain.pem; # managed by Certbot
  ssl_certificate_key /etc/letsencrypt/live/cloud.my-domain.com/privkey.pem; # managed by Certbot
  include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
  ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}
server {
  if ($host = cloud.my-domain.com) {
      return 301 https://$host$request_uri;
  } # managed by Certbot

  listen 80;
  server_name cloud.my-domain.com;
  return 404; # managed by Certbot
}

有没有可能让它以这种方式工作?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)