当前位置:首页 > 产品知识

云服务器上 Nginx 反向代理搭建指南:从入门到实践

2026年07月31日产品知识222
摘要:# 云服务器上 Nginx 反向代理搭建指南:从入门到实践 在现代网络架构中,反向代理是提升服务性能、安全性和灵活性的关键技术之一。Nginx 作为一款高性能的 Web 服务器和反向代理服务器,以其轻量、稳定、高并发的特点,成为众多开发者的首选。本文将详…

在现代网络架构中,反向代理是提升服务性能、安全性和灵活性的关键技术之一。Nginx 作为一款高性能的 Web 服务器和反向代理服务器,以其轻量、稳定、高并发的特点,成为众多开发者的首选。本文将详细介绍如何在云服务器上搭建 Nginx 反向代理服务,帮助你快速掌握这一实用技能。

一、反向代理的基本概念

反向代理(Reverse Proxy)是指代理服务器接收客户端的请求,然后将请求转发给内部网络中的目标服务器,并将目标服务器的响应返回给客户端。与正向代理(如 VPN)不同,反向代理对外隐藏了真实服务器的信息,客户端甚至不知道自己在与代理服务器交互。

反向代理的核心作用:

  1. 负载均衡:将请求分发到多个后端服务器,提升系统的并发处理能力。
  2. 缓存加速:缓存静态资源或动态内容,减少后端服务器的压力,提高响应速度。
  3. 安全防护:隐藏后端服务器的真实 IP,防止直接攻击;支持 HTTPS 加密,提升数据传输安全性。
  4. 统一入口:通过一个域名或 IP 地址访问多个服务,简化客户端访问流程。

二、云服务器准备

1. 选择合适的云服务器

根据业务需求选择云服务器,常见的云服务商有阿里云、腾讯云、AWS、华为云等。建议选择 Linux 系统(如 CentOS、Ubuntu),因为 Nginx 在 Linux 上的兼容性和性能更优。

随机图片

2. 服务器配置要求

  • CPU:至少 1 核(入门级),推荐 2 核及以上(高并发场景)。
  • 内存:至少 1GB(基础配置),推荐 2GB 及以上(运行多个服务时)。
  • 带宽:根据业务流量选择,建议 1Mbps 以上(公网访问)。
  • 操作系统:CentOS 7/8、Ubuntu 18.04/20.04 等。

3. 服务器初始化

  • 登录服务器(使用 SSH 工具,如 PuTTY、Xshell)。
  • 更新系统软件包:

    # CentOS 系统
    yum update -y
    
    # Ubuntu 系统
    apt update && apt upgrade -y
  • 关闭防火墙或开放必要端口(如 80、443):

    # CentOS 7 关闭防火墙
    systemctl stop firewalld
    systemctl disable firewalld
    
    # Ubuntu 关闭防火墙
    ufw disable

    (注意:生产环境建议配置防火墙规则,而非直接关闭)

三、安装 Nginx

1. 安装 Nginx

CentOS 系统:

# 安装 EPEL 源(如果未安装)
yum install epel-release -y

# 安装 Nginx
yum install nginx -y

# 启动 Nginx 并设置开机自启
systemctl start nginx
systemctl enable nginx

Ubuntu 系统:

# 安装 Nginx
apt install nginx -y

# 启动 Nginx 并设置开机自启
systemctl start nginx
systemctl enable nginx

2. 验证 Nginx 安装

在浏览器中输入服务器的公网 IP,如果看到 Nginx 的默认欢迎页面,说明安装成功。

四、配置反向代理

Nginx 的配置文件位于 /etc/nginx/nginx.conf(主配置文件)和 /etc/nginx/conf.d/ 目录下的子配置文件(推荐使用子配置文件管理不同服务)。

1. 基本反向代理配置

假设我们有一个后端服务运行在 127.0.0.1:8080,现在需要通过 Nginx 反向代理到 http://your-domain.com

步骤 1:创建配置文件

vi /etc/nginx/conf.d/reverse-proxy.conf

步骤 2:添加配置内容

server {
    listen 80;
    server_name your-domain.com;  # 替换为你的域名或公网 IP

    location / {
        proxy_pass http://127.0.0.1:8080;  # 后端服务地址
        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 $scheme;
    }
}

步骤 3:检查配置并重启 Nginx

# 检查配置文件是否正确
nginx -t

# 重启 Nginx 使配置生效
systemctl restart nginx

此时,访问 http://your-domain.com 就会被代理到 127.0.0.1:8080

2. 多服务反向代理配置

如果需要代理多个服务,可以通过不同的 location 或域名来区分。例如:

  • 访问 http://your-domain.com/app1 代理到 127.0.0.1:8081
  • 访问 http://your-domain.com/app2 代理到 127.0.0.1:8082

配置文件示例:

server {
    listen 80;
    server_name your-domain.com;

    location /app1 {
        proxy_pass http://127.0.0.1:8081;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }

    location /app2 {
        proxy_pass http://127.0.0.1:8082;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

3. HTTPS 反向代理配置

为了提升安全性,建议配置 HTTPS。需要先申请 SSL 证书(如 Let's Encrypt 免费证书)。

步骤 1:安装 Certbot(Let's Encrypt 客户端)

# CentOS 系统
yum install certbot python3-certbot-nginx -y

# Ubuntu 系统
apt install certbot python3-certbot-nginx -y

步骤 2:申请 SSL 证书

certbot --nginx -d your-domain.com

按照提示完成证书申请,Certbot 会自动配置 Nginx 的 HTTPS 相关设置。

步骤 3:验证 HTTPS

访问 https://your-domain.com,如果浏览器显示安全锁图标,说明 HTTPS 配置成功。

五、高级配置

1. 负载均衡配置

如果后端有多个服务器,可以通过 Nginx 实现负载均衡。配置示例:

随机图片

upstream backend_servers {
    server 127.0.0.1:8080;
    server 127.0.0.1:8081;
    server 127.0.0.1:8082;
}

server {
    listen 80;
    server_name your-domain.com;

    location / {
        proxy_pass http://backend_servers;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Nginx 默认使用轮询(Round Robin)算法分配请求,还支持权重(weight)、IP 哈希(ip_hash)等算法。

2. 缓存配置

通过 Nginx 缓存静态资源,减少后端服务器压力。配置示例:

http {
    # 定义缓存目录
    proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off;

    server {
        listen 80;
        server_name your-domain.com;

        location / {
            proxy_pass http://127.0.0.1:8080;
            proxy_cache my_cache;
            proxy_cache_valid 200 304 10m;  # 200和304响应缓存10分钟
            proxy_cache_valid any 1m;        # 其他响应缓存1分钟
            proxy_cache_key "$host$request_uri";
        }
    }
}

3. 日志配置

Nginx 的日志默认位于 /var/log/nginx/ 目录下,包括 access.log(访问日志)和 error.log(错误日志)。可以通过配置自定义日志格式:

http {
    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                    '$status $body_bytes_sent "$http_referer" '
                    '"$http_user_agent" "$http_x_forwarded_for"';

    access_log /var/log/nginx/access.log main;
}

六、常见问题及解决方法

1. Nginx 启动失败

  • 检查配置文件是否有语法错误:nginx -t
  • 查看错误日志:tail -f /var/log/nginx/error.log
  • 确保端口未被占用:netstat -tulpn | grep 80

2. 反向代理后后端服务无法获取真实 IP

  • 确保配置了 proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  • 后端服务需要读取这些请求头来获取真实 IP。

3. HTTPS 证书过期

  • 使用 Certbot 自动续期:certbot renew
  • 可以设置定时任务自动续期:crontab -e,添加 0 0 1 * * certbot renew --quiet

七、总结

通过本文的步骤,你已经掌握了在云服务器上搭建 Nginx 反向代理的方法,包括基本配置、多服务代理、HTTPS 配置、负载均衡和缓存等高级功能。Nginx 反向代理不仅能提升服务性能和安全性,还能为复杂的网络架构提供灵活的解决方案。在实际应用中,可以根据业务需求进一步优化配置,例如调整缓存策略、负载均衡算法等,以达到最佳效果。

希望本文对你有所帮助,祝你在云服务器上的 Nginx 反向代理搭建顺利!

扫描二维码推送至手机访问。

版权声明:本文由特网科技发布,如需转载请注明出处。

本文链接:https://www.56dr.com/ask/1119.html

分享给朋友:

“云服务器上 Nginx 反向代理搭建指南:从入门到实践” 的相关文章

企业邮箱自建邮局:维护成本的“隐形账单”你算过吗?

# 企业邮箱自建邮局:维护成本的“隐形账单”你算过吗? 当企业规模扩大到一定阶段,“数据自主可控”的需求往往会催生自建邮箱服务器的想法——相比第三方邮箱服务,自建邮局似乎能牢牢把邮件数据攥在自己手里。但鲜有人算过,这份“自主可控”背后,藏着多少看不见…

统一域名形象:企业邮箱与官网CDN的协同之道

# 统一域名形象:企业邮箱与官网CDN的协同之道 在数字化时代,企业的线上形象如同实体门店的招牌,直接影响着客户的第一印象。而域名作为企业线上身份的核心标识,其一致性与专业性至关重要。许多企业在运营中往往忽视了一个细节:官网与企业邮箱使用不同域名,导致品…

外贸邮件群发如何做到合规又不被拦截?这3个关键动作帮你破局

# 外贸邮件群发如何做到合规又不被拦截?这3个关键动作帮你破局 “发出去的邮件全进了垃圾箱,客户根本看不到!” “辛苦写的开发信,刚发几封就被平台限制发送?” 外贸人在邮件营销中,几乎都踩过“邮件拦截”的坑。一封邮件从发送到客户收件箱,要经过I…

企业邮箱批量重置密码:高效管理与安全并重的操作指南

# 企业邮箱批量重置密码:高效管理与安全并重的操作指南 在数字化办公时代,企业邮箱作为内部沟通与对外协作的核心工具,其账号安全直接关系到企业信息资产的完整性。当员工离职、密码泄露或定期安全更新时,批量重置邮箱密码成为IT管理员的常规任务。本文将从操作流程…

企业邮箱域名到期停用?别慌!这份续费指南帮你快速恢复通信

# 企业邮箱域名到期停用?别慌!这份续费指南帮你快速恢复通信 作为企业运营的“数字名片”,企业邮箱(如`yourcompany.com`后缀的邮箱)不仅承载着日常办公沟通,更维系着客户信任与业务连续性。但不少企业曾遭遇过这样的窘境:域名到期未及时续费导致…

企业邮箱海外投递延迟优化指南:让跨洋沟通“零时差”

# 企业邮箱海外投递延迟优化指南:让跨洋沟通“零时差” 当一封紧急的海外合作邮件卡在投递队列中延迟数小时,可能意味着错失关键商机——这是许多跨国企业日常运营中的痛点。企业邮箱海外投递延迟,往往源于网络链路拥堵、邮件服务器配置不当或反垃圾邮件机制误判。通过…