로컬 환경에서 Nginx 뒤에 NextAuth를 구성하는 방법은 무엇입니까?

로컬 환경에서 Nginx 뒤에 NextAuth를 구성하는 방법은 무엇입니까?

당신이 나를 도울 수 있기를 바랍니다.

현재 저는 로컬 환경을 사용하여 docker compose를 사용하고 있으며 NextAuth를 사용하여 NextJS 사이트를 구축했습니다. Nginx를 프록시로 구성했지만 애플리케이션에 로그인하려고 할 때 문제가 발생하고 다음 오류가 발생합니다.

[next-auth][error][SIGNIN_OAUTH_ERROR] 
https://next-auth.js.org/errors#signin_oauth_error connect ECONNREFUSED 127.0.0.1:80 {
  error: {
    message: 'connect ECONNREFUSED 127.0.0.1:80',
    stack: 'Error: connect ECONNREFUSED 127.0.0.1:80\n' +
      '    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1159:16)',
    name: 'Error'
  },
  providerId: 'keycloak',
  message: 'connect ECONNREFUSED 127.0.0.1:80'
}

구성을 시도했지만 성공하지 NEXTAUTH_URL_INTERNAL=http://next-container:3000못했습니다 NEXTAUTH_URL_INTERNAL=http://localhost:3000.

이것은 내 Nginx 구성입니다.

server {
listen 80;
listen \[::\]:80;
server_name test.site.com;

    access_log /var/log/nginx/app.log;
    error_log /var/log/nginx/app-error.log;
    
    # To allow special characters in headers
    ignore_invalid_headers off;
    
    # Set to a value such as 1000m; to restrict file size to a specific value
    client_max_body_size 5m;
    
    proxy_set_header X-Forwarded-For $proxy_protocol_addr; # To forward the original client's IP address
    proxy_set_header X-Forwarded-Proto $scheme; # to forward the  original protocol (HTTP or HTTPS)
    proxy_set_header Host $host; # to forward the original host requested by the client
    
    location / {
        proxy_pass http://next-container:3001/;
    }
    
    location /keycloak/ {
        rewrite /keycloak/(.*) /$1  break;
    
        proxy_set_header X-Forwarded-For $proxy_protocol_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Host $http_host;
    
    
        proxy_pass http://keycloak:8080/;

    }

}

이것은 내 다음 .env파일입니다.

NEXTAUTH_URL=http://test.site.com
NEXTAUTH_URL_INTERNAL=http://next-container:3001
NEXTAUTH_SECRET=some-secret

KEYCLOAK_CLIENT_ID=my-realm
KEYCLOAK_CLIENT_SECRET=client-secret
KEYCLOAK_ISSUER=http://test.site.com/keycloak/realms/my-realm

내 /etc/hosts:

127.0.0.1   test.site.com

Keycloak을 사용하여 사용자를 인증하고 있지만 이것이 문제가 된다고 생각하지 않습니다.

시간 내 주셔서 감사합니다:)

관련 정보