EasyPanel 및 BTCPayServer에서 nginx/traefik을 사용할 때 503 서비스를 일시적으로 사용할 수 없나요?

EasyPanel 및 BTCPayServer에서 nginx/traefik을 사용할 때 503 서비스를 일시적으로 사용할 수 없나요?

나는 Debian 12 VPS에서 이 모든 작업을 수행하고 있습니다.

  • 내가 설치할 수 있어요쉬운 패널SSL이 활성화된 상태에서 작동하도록 만드세요.

  • 내가 설치할 수 있어요비트코인 결제 서버단독으로 사용이 가이드BTC/XMR이 제대로 작동하도록 하세요.

  • 하지만 동일한 VPS에서 동시에 작업하도록 할 수는 없습니다.

Easypanel을 먼저 설치한 다음 BTCPayServer를 설치하려고 시도했지만 BTCPayServer가 전혀 설치되지 않았고 오류가 발생했습니다.

ERROR: for nginx: Bind for 0.0.0.0:443 failed: port is already allocated

이제 반대 방향으로 BTCPayServer를 먼저 설치한 다음 EasyPanel을 설치했습니다.

이제 작동합니다.

Next.js하지만 실행 중인 애플리케이션에 액세스할 수 없습니다 easypanel. easypanel.mysite.com어떤 이유로 활성화된 맞춤 URL을 설정할 수도 없습니다.

BTCPayServer에서 사용하는 Nginx나 EasyPanel에서 사용하는 Traefik 때문인 것 같습니다.

503 Service Temporarily Unavailable현재 이 문제는 EasyPanel에 설치된 Next.js 애플리케이션을 열려고 할 때 발생합니다.

이 문제를 어떻게 해결할 수 있나요?

이지패널에는이에 대한 문서. 그래서 나는어찌할 바를 모르는:

/etc/easypanel/traefik/config/custom.yaml

# Enable debug logs
log:
  level: DEBUG

# Define the entry points
entryPoints:
  web:
    address: ":80"
  websecure:
    address: ":443"

# Enable and configure Let's Encrypt
certificatesResolvers:
  myresolver:
    acme:
      email: "[email protected]"
      storage: "/etc/traefik/acme/acme.json"
      httpChallenge:
        entryPoint: "web"

# Configure the API
api:
  insecure: true
  dashboard: true

# Define the global configuration
global:
  checkNewVersion: true
  sendAnonymousUsage: true

# Configure access to Docker
providers:
  docker:
    endpoint: "unix:///var/run/docker.sock"
    exposedByDefault: false

# Configure the entry points for the services
http:
  routers:
    btcpayserver-router:
      rule: "Host(`btcpay.mysite.com`)"
      service: "btcpayserver-service"
      entryPoints:
        - "websecure"
    easypanel-router:
      rule: "Host(`easypanel.mysite.com`)"
      service: "easypanel-service"
      entryPoints:
        - "websecure"

  services:
    btcpayserver-service:
      loadBalancer:
        servers:
          - url: "http://btcpayserver-docker:80"
    easypanel-service:
      loadBalancer:
        servers:
          - url: "http://easypanel:80"

http://btcpayserver-docker:80하지만 대신 무엇을 사용해야할지 모르겠습니다 .

내가 실행하면 docker ps --format "table {{.ID}}\t{{.Names}}"다음과 같은 결과를 얻습니다.

CONTAINER ID   NAMES
969e4c50ec21   easypanel.1.vzayltvbta10oaqc3wpnztkq2
37e61e15eab5   sinister-kings_nextjs-app.1.lym2ck5oa18gdtfr3lcirz9rf
7999d7177605   letsencrypt-nginx-proxy-companion
24691446a0bd   nginx-gen
d295cc6dbcd3   btcpayserver_monero_wallet
9f2ed203c36d   generated_nbxplorer_1
b9b8b4463c3d   btcpayserver_bitcoind
f6337df09401   generated_btcpayserver_1
696ff12c318d   tor-gen
aa89e0b619b2   generated_postgres_1
fe8d006707dd   nginx
11cf23a5363d   btcpayserver_monerod
f7d42ade4300   tor

btcpayserver사용자 정의 Traefik 구성에서는 어떤 것을 사용해야 합니까? 이 구성이 나에게 필요한 것입니까?

역방향 프록시를 사용하고 포트 중 하나가 다른 포트를 통과하도록 해야 한다는 것을 알고 있지만 이를 작동시키는 방법이 혼란스럽습니다.

답변1

게시한 지침을 간략히 살펴보면 btcpayserver이것이 실행 중인 유일한 웹 서비스라고 가정하고 기본적으로 EasyPanel과 충돌하는 포트(예: 80, 443, 8080)를 사용하며 서버에서 실행되는 유일한 웹 서비스라고 가정합니다. 이러한 가정으로 인해 두 서비스 모두에 대해 기본 설정을 사용할 수 없으며 함께 작동하려면 시작하기 설명서에 포함되지 않은 추가 구성이 필요합니다.

첫 번째 제안은 btcpayserverEasyPanel 설치를 사용하는 것입니다. 이는 Docker 이미지 모음일 뿐이지만, btcpayserver디자인 방식이 그리 쉽지 않을 수 있습니다. 개발자에게 풀 요청을 제출하여 btcpayserver그들이 EasyPanel 설치 옵션을 추가하는지 확인하거나 직접 개발하여 프로젝트에 기여할 수도 있습니다.

제가 생각할 수 있는 또 다른 옵션은 EasyPanel의 모든 구성 포트를 조정하거나 btcpayserver서로 충돌하지 않도록 하는 것입니다. 몇 가지 기본적인 Docker 네트워킹 지식이 있어야 가능합니다. 두 서비스 모두에 대한 경험이 없으면 이 작업이 얼마나 어려웠는지 설명할 수 없습니다.

마음속에 떠오르는 마지막 옵션(아마도 가장 쉬운 옵션)은 두 개의 별도 서버에서 두 서비스를 실행하는 것입니다. 가상화를 사용하여 동일한 결과를 얻을 수도 있습니다.

관련 정보