당신이 나를 도울 수 있기를 바랍니다.
현재 저는 로컬 환경을 사용하여 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을 사용하여 사용자를 인증하고 있지만 이것이 문제가 된다고 생각하지 않습니다.
시간 내 주셔서 감사합니다:)