操作
バグ #191
未完了task.call2arm.com Claude API接続テスト - 認証エラー (401 invalid x-api-key)
開始日:
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/
次のアクション¶
- Claude APIキーの有効性確認
- 環境変数・設定ファイルの確認
- nginx プロキシ設定の詳細調査
- 修正後の動作確認テスト
表示するデータがありません
操作