演示如何使用 Docker 构建一个代理服务器,将请求代理到 https://api.openai.com/ 并使用 HTTPS 进行通信。
- 在与
Dockerfile 相同的目录中创建一个名为 nginx.conf 的文件,并将以下内容复制到文件中:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| events { worker_connections 1024; }
http { server { listen 443 ssl; ssl_certificate /etc/nginx/cert.pem; ssl_certificate_key /etc/nginx/cert.key; ssl_session_cache shared:le_nginx_SSL:1m; ssl_session_timeout 1440m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5;
location / { proxy_pass https://api.openai.com/; proxy_ssl_server_name on; proxy_set_header Host api.openai.com; proxy_set_header Connection ''; proxy_http_version 1.1; chunked_transfer_encoding off; proxy_buffering off; proxy_cache off; } } }
|
请确保将 cert.pem 和 cert.key 替换为您自己的 SSL 证书文件路径。
1 2 3 4 5 6 7
| FROM nginx:latest
COPY nginx.conf /etc/nginx/nginx.conf COPY cert.pem /etc/nginx/cert.pem COPY cert.key /etc/nginx/cert.key
EXPOSE 443
|
1
| docker build -t openai-proxy .
|
1
| docker run -d -p 8443:443 openai-proxy
|
这将在后台启动一个名为 openai-proxy 的容器,并将容器内的 443 端口映射到主机的 8443 端口。
现在,您可以通过访问 https://localhost:8443 来访问代理服务器,并通过代理服务器访问 https://api.openai.com/。请注意,这只是一个简单的示例,您可能需要根据需要进行更改和调整,以满足您的具体需求和环境配置。同时,使用自签名证书时,您的浏览器可能会显示安全警告,因为证书不是由受信任的颁发机构签发。