Visitors

프록시 환경(사내 등) 에서 openai, anthropic api 사용하기

프록시 환경(사내 등) 에서 openai, anthropic api 사용하기

프록시 환경(예: 사내 네트워크)에서 OpenAI 또는 Anthropic API를 안전하고 효율적으로 사용하는 방법을 단계별로 안내합니다. 이 가이드는 API 키 보안, 사내망 내에서의 API 연결 방법, 실무 적용 예시 등을 포함합니다.


1. 프록시 환경에서 API 사용의 일반적 이슈

  • 외부 API(예: OpenAI, Anthropic)와 사내 네트워크 사이에 방화벽이나 프록시 서버가 있어 직접적인 통신이 불가하거나 제한됩니다.
  • API 키를 클라이언트(프론트엔드, PC)에서 직접 사용하면 보안 위험이 큽니다.
  • OpenAI/Anthropic API 서버와 직접 통신이 안 되는 경우, 중간에 요청을 중계하는 프록시 서버를 사내에 별도로 구축해 사용해야 합니다[1][3].

2. 보안 강화 방법: 백엔드 프록시 서버 구성

  • API 키 보안: 회사 내부 서버에만 API 키를 저장하여 외부 유출을 원천 차단합니다. 프론트엔드는 프록시 서버에만 요청하고, 프록시 서버가 외부 API로 대리 요청합니다[1].

구현 예시 (Node.js Express 기반):

// .env 파일에 OPENAI_API_KEY, ANTHROPIC_API_KEY 등 저장
require('dotenv').config();
const express = require('express');
const axios = require('axios');
const app = express();

app.use(express.json());

app.post('/api/openai', async (req, res) => {
  try {
    const response = await axios.post(
      'https://api.openai.com/v1/chat/completions',
      req.body,
      {
        headers: {
          'Authorization': `Bearer ${process.env.OPENAI_API_KEY}`,
          'Content-Type': 'application/json'
        }
      }
    );
    res.json(response.data);
  } catch (error) {
    res.status(500).json({error: error.toString()});
  }
});

app.post('/api/anthropic', async (req, res) => {
  try {
    const response = await axios.post(
      'https://api.anthropic.com/v1/messages',
      req.body,
      {
        headers: {
          'x-api-key': process.env.ANTHROPIC_API_KEY,
          'Content-Type': 'application/json'
        }
      }
    );
    res.json(response.data);
  } catch (error) {
    res.status(500).json({error: error.toString()});
  }
});

app.listen(3000, () => console.log('프록시 서버 실행 중!'));
  • 위 코드는 프록시 서버가 OpenAI와 Anthropic API로 요청을 중계해 주는 구조입니다.

3. 사내 프록시, 방화벽 설정

  • 회사 네트워크에서 외부 API 서버(예: api.openai.com, api.anthropic.com)로 직접 나가는 트래픽이 차단될 수 있습니다.
  • 이럴 경우, 사내 프록시 서버 주소/포트를 환경 변수(예: HTTP_PROXY, HTTPS_PROXY)로 지정해야 합니다.

환경 변수 설정 예시:

export HTTP_PROXY=http://사내프록시주소:포트
export HTTPS_PROXY=http://사내프록시주소:포트
  • 또는, axios/requests 등 라이브러리에서 별도 프록시 지정 옵션을 사용할 수 있습니다.

4. API Gateway 도입 (고도화 방법)

  • 단순 프록시 서버 외에, API Gateway(예: IBM API Connect, Kong, NGINX API Gateway)를 이용해 트래픽 제어, 응답 캐싱, 경로 허용, 인증 관리 등 보안/통제 기능을 확장할 수 있습니다[3].
  • API Gateway에서 OpenAI/Anthropic API 경로만 열어주고, 불필요한 경로는 차단하여 보안을 강화할 수 있습니다.
  • 응답 캐싱을 통해 트래픽 비용도 절감할 수 있습니다.

5. Anthropic (Claude) API 활용 예시

  • Python 환경에서 anthropic 패키지를 사용하며, API 키를 코드에 직접 노출하지 않고 환경변수로 관리하는 것이 권장됩니다.
  • 예시 코드(프록시 환경에서도 동일하게 적용):
import os
import anthropic

os.environ["ANTHROPIC_API_KEY"] = "여기에_안쓰고_환경변수_혹은_프록시에서_설정"
client = anthropic.Anthropic()
message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1000,
    temperature=0.0,
    system="당신은 똑똑 AI 비서입니다",
    messages=[{"role": "user", "content": "클로드3 설명해줘."}]
)
print(message.content[0].text)
  • 서버에서 환경변수로 키를 관리하거나, 사내 프록시를 통해 요청을 중계해주는 방식을 사용합니다[2][4].

6. 체크리스트

  • API 키는 백엔드 또는 프록시 서버에만 보관
  • 사내망 방화벽/프록시 서버의 외부 API 허용 정책 확인
  • 프록시 서버 또는 API Gateway 사용 시 예외 처리, 캐시 활용 등 세부 설정 필요
  • SDK/라이브러리에서 프록시 환경 변수 지원 여부 확인

프록시 환경에서 OpenAI, Anthropic API를 안전하게 사용하려면 반드시 중계 서버(프록시 또는 API Gateway)를 활용한 요청 보안사내 네트워크 정책에 맞춘 프록시 설정이 필요합니다. 각 환경에 맞게 위 방법을 조합해 구축하면 됩니다.

https://pageservice.tistory.com/entry/4,https://hyeong9647.tistory.com/entry/%EB%AA%A8%EB%8D%B8-%EB%A6%AC%EB%B7%B0-anthropic%EC%9D%98-Claude-3-%EC%82%AC%EC%9A%A9-%EB%B0%8F-API-%EC%82%AC%EC%9A%A9%EB%B2%95,https://www.ibm.com/docs/ko/api-connect/10.0.8?topic=definition-creating-rest-proxy-openai-ai-gateway,https://www.youtube.com/watch?v=EAlKDBRWVY0,https://learn.microsoft.com/ko-kr/microsoft-cloud/dev/dev-proxy/how-to/simulate-openai

Read more

AI, 국제수학올림피아드에서 금빛 업적 달성! 구글과 오픈AI의 놀라운 성과

AI, 국제수학올림피아드에서 금빛 업적 달성! 구글과 오픈AI의 놀라운 성과

AI의 수학적 혁명: IMO 금메달 도전기 AI, 국제수학올림피아드에서 금메달 획득! 2025년, 구글과 오픈AI의 인공지능이 세계 최고 난이도의 수학 대회에서 놀라운 성과를 거두었습니다. 이는 AI의 수학적 추론 능력이 인간 수준에 근접했음을 보여주는 획기적인 순간입니다. 주요 성과 * 🏅 오픈AI: 6문제 중 5문제 해결, 42점 만점 중 35점 획득 * 🏅 구글 Gemini: IMO 금메달 기준

By King
WebAgent: Alibaba's Next-Gen AI Agent for Autonomous Web Information Exploration

WebAgent: Alibaba's Next-Gen AI Agent for Autonomous Web Information Exploration

WebAgent란 무엇인가? WebAgent는 알리바바의 통이랩(Tongyi Lab)에서 개발한 혁신적인 오픈소스 프로젝트로, AI 기반 웹 탐색의 한계를 넓히는 기술입니다. 핵심은 대형 언어 모델(LLM)을 기반으로 한 자율 에이전트로, 최소한의 인간 개입으로 웹을 탐색하고 정보를 수집하며 복잡한 추론 작업까지 수행할 수 있습니다. 이제 이 흥미로운 기술을 자세히 살펴보고 어떻게 작동하는지

By King
YOLO 모델 학습 결과 비교 기준과 효율적 평가 방법에 관한 고찰

YOLO 모델 학습 결과 비교 기준과 효율적 평가 방법에 관한 고찰

YOLO 모델 학습을 진행하며 데이터셋 증강, 배치 구성 등의 변수 조작 후 학습 결과 비교를 위한 연구는 매우 중요한 과정입니다. 특히, 논문 작성 시 수정이 가해지지 않은 기본 상태와 고안한 방법을 적용한 상태의 학습 결과를 비교할 때 어떤 모델 파일을 기준으로 할지 고민하는 경우가 많습니다. YOLO 학습을 400 epoch로 설정할

By King
역사의 장막을 벗기다: MLK 기밀문서, 정치 스캔들, 그리고 헌터 바이든의 충격 발언

역사의 장막을 벗기다: MLK 기밀문서, 정치 스캔들, 그리고 헌터 바이든의 충격 발언

미국 정치의 숨겨진 진실들, 이제 공개된다! 🔍 마틴 루터 킹 주니어 암살 문서 23만쪽 전격 공개 2025년 7월 21일, 국가정보국(DNI)이 MLK 암살 사건의 숨겨진 진실을 담은 6,000여 건의 문서를 최초로 공개했습니다. 트럼프 대통령의 행정명령에 따라 국민의 알 권리를 위해 추진된 이번 공개는 역사적 투명성의 중요한 이정표로 평가됩니다. 📂 오바마-코미

By King