Sample Cloud Spend Mcp Server

Sample Cloud Spend Mcp Server

🚀 使用Nginx在EC2实例上配置HTTPS反向代理服务器

本项目详细介绍了如何在亚马逊弹性计算云(Amazon EC2)实例上,使用Nginx配置一个基于HTTPS的安全反向代理服务器。通过这种方式,前端客户能够通过安全的HTTPS协议访问后端服务,提升数据传输的安全性。

🚀 快速开始

以下是配置HTTPS反向代理服务器的整体步骤:

  1. 安装Nginx
  2. 获取EC2实例的公共主机名
  3. 创建Nginx配置文件
  4. 启动Nginx服务
  5. 通过HTTPS访问反向代理服务器

✨ 主要特性

  • 安全性:通过HTTPS协议保障数据传输安全。
  • 反向代理:将前端请求转发到后端服务。

📦 安装指南

安装Nginx

  1. 打开终端,运行以下命令安装Nginx:
    sudo apt-get install nginx
    
  2. 验证Nginx是否正确安装:
    sudo nginx -t
    
  3. 重新加载Nginx配置以应用更改:
    sudo systemctl reload nginx
    

获取EC2实例的公共主机名

使用curl命令获取实例的公开DNS名称:

TOKEN=$(curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600") && curl -H "X-aws-ec2-metadata-token: $TOKEN" -s http://169.254.169.254/latest/meta-data/public-hostname

💻 使用示例

创建Nginx配置文件

基础用法

  1. 打开终端,运行以下命令创建新的Nginx配置文件:
    sudo nano /etc/nginx/conf.d/ec2.conf
    
  2. 将以下内容粘贴到文件中(记得替换占位符):
    server {
    listen 80;
    server_name YOUR_EC2_HOSTNAME;
    
    # 重定向HTTP到HTTPS
    return 301 https://$host$request_uri;
    }
    
    server {
    listen 443 ssl;
    server_name YOUR_EC2_HOSTNAME;
    
    # SSL证书和密钥路径
    ssl_certificate     /etc/ssl/certs/cert.pem;
    ssl_certificate_key /etc/ssl/privatekey/privkey.pem;
    
    # 设置SSL协议和加密套件
    ssl_protocols       TLSv1.2 TLSv1.3;
    ssl_ciphers         HIGH:!aNULL:!MD5;
    
    location / {
    # 反向代理到本地服务(例如,端口8000)
    proxy_pass http://127.0.0.1:8000;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto https;
    }
    }
    
  3. 保存并退出编辑器。

启动Nginx服务

基础用法

  1. 测试Nginx配置是否正确:
    sudo nginx -t
    
  2. 如果配置无误,重新加载Nginx以应用更改:
    sudo systemctl reload nginx
    
  3. 确保Nginx服务正在运行:
    sudo systemctl status nginx
    

通过HTTPS访问反向代理服务器

基础用法

  1. 更新所有MCP客户端的配置,使用新的HTTPS URL。
  2. 使用mcp_sse_client.py连接反向代理服务器:
    python mcp_sse_client.py --url https://YOUR_EC2_HOSTNAME:443
    
  3. 使用LangGraph Agent连接反向代理服务器:
    export MCP_SERVER_URL=https://YOUR_EC2_HOSTNAME:443
    

📚 详细文档

安装Nginx

  1. 打开终端,运行安装命令sudo apt-get install nginx,该命令会从软件源下载并安装Nginx。
  2. 运行sudo nginx -t验证Nginx配置是否正确,若输出显示配置无误,则可进行下一步。
  3. 运行sudo systemctl reload nginx重新加载Nginx配置,使更改生效。

获取EC2实例的公共主机名

使用curl命令获取实例的公开DNS名称,该名称用于后续配置中的server_name

创建Nginx配置文件

  1. 运行sudo nano /etc/nginx/conf.d/ec2.conf创建新的Nginx配置文件。
  2. 在文件中配置SSL证书路径、密钥路径、SSL协议和加密套件,以及反向代理规则。
  3. 保存并退出编辑器。

启动Nginx服务

  1. 运行sudo nginx -t测试Nginx配置是否正确。
  2. 若配置无误,运行sudo systemctl reload nginx重新加载Nginx以应用更改。
  3. 运行sudo systemctl status nginx确保Nginx服务正在运行。

通过HTTPS访问反向代理服务器

  1. 更新所有MCP客户端的配置,使用新的HTTPS URL。
  2. 使用mcp_sse_client.py连接反向代理服务器,指定--url参数为新的HTTPS URL。
  3. 使用LangGraph Agent连接反向代理服务器,通过export MCP_SERVER_URL设置服务器URL。

🔧 技术细节

本项目使用Nginx作为反向代理服务器,通过配置SSL证书和密钥,实现HTTPS协议的安全传输。Nginx的反向代理功能将前端请求转发到本地8000端口的服务,从而实现前后端的分离。同时,通过定期更新SSL证书和监控Nginx服务状态,保障系统的安全性和稳定性。

📄 注意事项

⚠️ 重要提示

  • 确保SSL证书和密钥路径正确无误,否则会导致HTTPS连接失败。
  • 定期更新SSL证书以保障安全性,避免证书过期影响服务。
  • 监控Nginx服务状态,确保其正常运行,可通过sudo systemctl status nginx查看服务状态。

通过以上步骤,您可以在EC2实例上成功配置一个安全的HTTPS反向代理服务器。

  • 0 关注
  • 0 收藏,8 浏览
  • system 提出于 2025-10-05 14:39

相似服务问题

相关AI产品