使用Linuxserver的Swag作为Docker合成中SpringBoot应用程序的反向代理

kyvafyod  于 2023-01-05  发布在  Spring
关注(0)|答案(1)|浏览(374)

我目前正在尝试将我的SpringBoot应用程序从我的Pi中公开,发现自己处于以下情况:

  • 我已经从DuckDns保留了一个域,并运行docker image来更新我的IP。
  • 我在Docker容器中运行Spring应用程序:
version: "3"

services:
  my-app:
    container_name: my-app
    image: my-app:latest
    restart: unless-stopped
    ports:
      - "8080:8080"
    env_file:
      - .env
    networks:
      - postgres
      - swag

networks:
  postgres:
    external:
      name: postgres-network
  swag:
    external:
      name: swag-network
  • 我有Swag在docker中运行。它创建了在以前的docker-compose中使用的"swag"网络。我选择了这个工具,因为它既可以用Let's Encrypt创建证书,又可以设置反向代理。我不确定我是否真的需要这个工具,或者它太多了。
version: "2.1"
services:
  swag:
    image: linuxserver/swag:arm64v8-1.32.0
    container_name: swag
    cap_add:
      - NET_ADMIN
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Berlin
      - URL=my-domain.duckdns.org
      - SUBDOMAINS=wildcard
      - VALIDATION=duckdns
      - DUCKDNSTOKEN=my-token
    volumes:
      - ./config:/config
    ports:
      - 443:443
    restart: unless-stopped
    networks:
      - swag

networks:
  swag:
    name: swag-network
  • 最后但同样重要的是,需要在"config/nginx/proxy-confs/my-domain. subdomain. conf"中配置反向代理
server {
    listen 443 ssl;
    server_name my-domain.duckdns.org;

    location / {
        proxy_set_header Host $host:$server_port;
        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;
        proxy_pass http://my-app:8080;
        proxy_redirect off;
    }
}

但我无法使用我的域连接到应用程序。
我的问题:

  • 我是否需要在SpringBoot应用程序内部添加一些https特定的配置,或者是否所有配置都在SpringBoot应用程序外部处理。例如,使用端口443,而不是8080
  • 我对代理和公共可用性非常缺乏经验,所以任何提示都将不胜感激。
  • 这里的概念对吗?
  • 执行得对吗?
  • 有没有更聪明/更好的方法来做到这一点?
8yparm6h

8yparm6h1#

结果发现我把代理配置放错了地方。要全局设置它,我需要把它放在这个文件中:
第一个月

相关问题