プロジェクト

全般

プロフィール

バグ #191

未完了

task.call2arm.com Claude API接続テスト - 認証エラー (401 invalid x-api-key)

Redmine Admin さんが4日前に追加.

ステータス:
新規
優先度:
高め
担当者:
開始日:
2025-06-04
期日:
進捗率:

0%

予定工数:

説明

問題概要

発生箇所: https://task.call2arm.com/redmine-ui/settings
問題内容: Claude API接続テストで認証エラーが発生
エラーメッセージ:

Claude API接続エラー: Claude API error: 401 - {"type":"error","error":{"type":"authentication_error","message":"invalid x-api-key"}}

詳細症状

  • HTTP ステータス: 401 Unauthorized
  • エラータイプ: authentication_error
  • 原因: invalid x-api-key (APIキーが無効)

影響範囲

  • Claude API統合機能全般
  • 設定画面でのAPI接続確認機能
  • Claude機能を利用したRedmine統合

考えられる原因

1. APIキー設定問題

  • 無効なAPIキー: 設定されているClaude APIキーが無効
  • 期限切れ: APIキーの有効期限切れ
  • 権限不足: APIキーの権限設定不備

2. 環境変数・設定問題

# 確認すべき設定
CLAUDE_API_KEY=sk-ant-api03-...
# または
ANTHROPIC_API_KEY=sk-ant-api03-...

3. nginx プロキシ設定問題

  • /api/claude/ エンドポイントの設定不備
  • ヘッダー転送設定の問題
  • リクエスト改変による認証情報の消失

4. フロントエンド実装問題

  • APIキーの送信方法エラー
  • ヘッダー設定の不備
  • JavaScript での認証処理の問題

調査・確認事項

1. APIキー有効性確認

# 直接Anthropic APIにテスト
curl -H "x-api-key: YOUR_API_KEY" \
     -H "content-type: application/json" \
     -d '{"model":"claude-3-sonnet-20240229","max_tokens":10,"messages":[{"role":"user","content":"test"}]}' \
     https://api.anthropic.com/v1/messages

2. nginx プロキシ動作確認

# task.call2arm.com 経由でのテスト
curl -H "x-api-key: YOUR_API_KEY" \
     -H "content-type: application/json" \
     -d '{"model":"claude-3-sonnet-20240229","max_tokens":10,"messages":[{"role":"user","content":"test"}]}' \
     https://task.call2arm.com/api/claude/messages

3. 環境変数確認

# task-news-api コンテナでの環境変数
docker exec task-news-api env | grep -i claude
docker exec task-news-api env | grep -i anthropic

4. 設定ファイル確認

  • React アプリでのAPIキー管理方法
  • サーバーサイドでのAPIキー設定
  • nginx でのヘッダー転送設定

想定される解決方法

1. APIキー更新

  • 新しい有効なClaude APIキーの取得
  • 環境変数またはコンフィグファイルでの更新

2. nginx設定修正

location /api/claude/ {
    # APIキーヘッダーの適切な転送確保
    proxy_pass_request_headers on;
    proxy_set_header x-api-key $http_x_api_key;
    # ...
}

3. アプリケーション設定修正

// フロントエンド: 正しいヘッダー設定
const headers = {
  'x-api-key': 'sk-ant-api03-...',
  'content-type': 'application/json',
  'anthropic-version': '2023-06-01'
};

緊急度

  • 優先度: 高(Claude統合機能が使用不可)
  • 影響度: 大(AI機能全般に影響)

関連設定

  • チケット#185: Redmine API統合修正(正常動作確認済み)
  • nginx設定: /root/nginx-proxy/conf.d/task-call2arm.conf
  • Claude API プロキシ設定: location /api/claude/

次のアクション

  1. Claude APIキーの有効性確認
  2. 環境変数・設定ファイルの確認
  3. nginx プロキシ設定の詳細調査
  4. 修正後の動作確認テスト

表示するデータがありません

他の形式にエクスポート: Atom PDF