You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求获取Traefik、Nginx等任意反向代理的通用配置方案

反向代理通用核心配置与示例

反向代理的核心是将客户端请求转发到后端服务,并将响应返回给客户端。以下是主流代理工具的通用配置模板,覆盖HTTP/HTTPS场景:

核心通用原则

无论使用哪种工具,反向代理都需要包含以下关键配置项:

  • 监听客户端请求的端口(通常为80/HTTP、443/HTTPS)
  • 后端服务的目标地址(IP+端口或域名)
  • 传递必要的请求头(如Host、X-Forwarded-For等,便于后端识别真实客户端信息)
  • 可选:SSL证书配置(HTTPS场景)、超时控制、日志记录

Nginx 通用配置示例

基础HTTP反向代理

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

    # 转发所有请求到后端服务
    location / {
        proxy_pass http://backend-server-ip:backend-port;
        
        # 传递真实客户端IP和请求头
        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;
        
        # 超时设置(根据后端服务调整)
        proxy_connect_timeout 30s;
        proxy_send_timeout 30s;
        proxy_read_timeout 30s;
    }
}

HTTPS反向代理(带SSL证书)

server {
    listen 443 ssl;
    server_name your-domain.com;

    # SSL证书配置
    ssl_certificate /path/to/your/cert.pem;
    ssl_certificate_key /path/to/your/privkey.pem;

    location / {
        proxy_pass http://backend-server-ip:backend-port;
        
        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;
        
        proxy_connect_timeout 30s;
        proxy_send_timeout 30s;
        proxy_read_timeout 30s;
    }
}

# 强制HTTP跳转HTTPS
server {
    listen 80;
    server_name your-domain.com;
    return 301 https://$host$request_uri;
}

Apache 通用配置示例

首先确保启用必要模块:

a2enmod proxy proxy_http ssl rewrite

基础HTTP反向代理

<VirtualHost *:80>
    ServerName your-domain.com

    ProxyPreserveHost On
    ProxyPass / http://backend-server-ip:backend-port/
    ProxyPassReverse / http://backend-server-ip:backend-port/

    # 传递真实客户端IP
    RequestHeader set X-Real-IP %{REMOTE_ADDR}s
    RequestHeader set X-Forwarded-For %{REMOTE_ADDR}s
    RequestHeader set X-Forwarded-Proto "http"
</VirtualHost>

HTTPS反向代理(带SSL证书)

<VirtualHost *:443>
    ServerName your-domain.com

    SSLEngine on
    SSLCertificateFile /path/to/your/cert.pem
    SSLCertificateKeyFile /path/to/your/privkey.pem

    ProxyPreserveHost On
    ProxyPass / http://backend-server-ip:backend-port/
    ProxyPassReverse / http://backend-server-ip:backend-port/

    RequestHeader set X-Real-IP %{REMOTE_ADDR}s
    RequestHeader set X-Forwarded-For %{REMOTE_ADDR}s
    RequestHeader set X-Forwarded-Proto "https"
</VirtualHost>

# 强制HTTP跳转HTTPS
<VirtualHost *:80>
    ServerName your-domain.com
    RewriteEngine On
    RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>

Caddy 通用配置示例

Caddy默认自动配置SSL(Let's Encrypt证书),配置极简:

基础HTTPS反向代理

your-domain.com {
    reverse_proxy http://backend-server-ip:backend-port

    # 自动传递X-Forwarded-*头
    header_up Host {host}
    header_up X-Real-IP {remote_host}
    header_up X-Forwarded-For {remote_host}
    header_up X-Forwarded-Proto {scheme}
}

HTTP反向代理(仅测试用)

http://your-domain.com {
    reverse_proxy http://backend-server-ip:backend-port
}

通用注意事项

  • 后端可达性:确保代理服务器能ping通后端服务,且后端端口未被防火墙拦截
  • 防火墙规则:开放代理服务器的80/443端口,同时允许代理服务器访问后端服务端口
  • 超时调整:如果后端服务处理请求较慢,需延长代理的连接/读取超时时间
  • 日志排查:开启代理工具的访问日志和错误日志,便于定位转发失败问题

内容的提问来源于stack exchange,提问作者Simranjit Nagra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 05:45:17