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

如何配置Nginx实现example2指定路径无跳转展示example1对应内容

实现可行性结论

该需求完全可以通过Nginx配置实现,全程不会触发域名跳转,用户浏览器地址栏始终保留example2.com域名。

具体配置方法

你只需要修改example2.com对应的Nginx server块配置,两个站点原有正常运行的配置不需要改动,新增/custompage路径的专属反向代理规则即可,参考配置如下:

server {
    listen 80;
    # 如果配置了HTTPS就保留你原来的443监听、SSL证书相关配置
    server_name example2.com;

    # 优先匹配/custompage路径及其下所有子请求
    location ^~ /custompage {
        # 反向代理拉取example1.com的对应内容
        proxy_pass http://example1.com;
        # 透传必要请求头,保证源站返回正确内容
        proxy_set_header Host example1.com;
        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;

        # 替换返回内容中的域名,保证静态资源从当前域名加载
        sub_filter 'example1.com' 'example2.com';
        sub_filter_once off;
        sub_filter_types text/html text/css application/javascript image/svg+xml;
    }

    # 原有example2.com的所有路由规则保持不变,放在custompage规则之后
    location / {
        # 此处保留你原来配置的example2.com转发规则,比如指向Nuxt本地服务、静态资源目录等
        # 示例配置:proxy_pass http://127.0.0.1:3000;
    }
}
配置逻辑说明
  • ^~ /custompage是前缀匹配规则,优先级高于普通正则匹配和根路径匹配,能保证所有以/custompage开头的请求都走代理逻辑,不会落到example2.com自身的服务上。
  • 配置proxy_set_header Host example1.com是为了让example1.com的服务正确识别请求域名,返回对应站点的内容,避免出现域名不匹配的报错。
  • sub_filter相关配置会自动替换返回页面、脚本、样式中的example1.com域名为example2.com,保证页面引用的静态资源、接口请求都在example2.com域名下发起,不会出现跨域或者跳转到example1.com的问题。绝大多数默认安装的Nginx都自带ngx_http_sub_module模块,不需要额外编译。
生效操作

配置修改完成后,先执行nginx -t检查配置语法是否正确,确认无报错后执行nginx -s reload重载配置即可生效,重载过程不会中断现有站点服务。

内容的提问来源于stack exchange,提问作者Evgeny Anisimov

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 03:39:30