ローカル環境で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:3000NEXTAUTH_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を使用してユーザーを認証していますが、これが問題になるとは思いません。

時間をいただきありがとうございます:)

ベストアンサー1

おすすめ記事