V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Reitzo
V2EX  ›  程序员

请教大佬们关于 NGINX 内网反向代理的疑问。

  •  
  •   Reitzo · Jun 28, 2024 · 2610 views
    This topic created in 671 days ago, the information mentioned may be changed or developed.
    描述:家里 ROS 主机拨号并做网关,地址 192.168.1.1 ,EXSI 虚拟机上跑了一个 Debian ( 192.168.1.5 ),在 Debian 主机上安装了 NGINX ,并使用 ACME.SH 申请了证书。买了一个域名(例如:xxx.com ),在域名申请了泛域名解析:*.xxx.com ,在 nginx 的 CONFIG 文件设置了反代,例如:a.xxx.com 可以访问内网服务 192.168.1.8 。因为家里公网 IP 没有 443 端口,在 ROS 上设置了转发:9443 到 192.168.1.5 的 443.

    问题:访问 a.xxx.com:9443,可以正常访问内网的 192.168.1.8 服务(因为 NGINX 的 CONG 文件已经设置了反向代理),但是为什么访问 b.xx.com:9443 等等,任何的泛解析域名都是同样的访问 192.168.1.8 ,CONG 文件已经做了精准匹配域名了,按我理解,除了 a.xxx.com:9443 可以访问外,其他泛域名应该不能访问才对。实在不想在阿里的域名管理平台每一个服务都设置 A 解析,想在内网的 NGINX 上实现。

    百思不得其解,还望各位大佬帮忙指点。
    12 replies    2024-06-28 23:31:08 +08:00
    nitmali
        1
    nitmali  
       Jun 28, 2024   ❤️ 1
    default_server
    ccloving
        3
    ccloving  
       Jun 28, 2024
    家宽封了 80 和 443 也能用 ACME 正常获取证书吗?我一直都是失败的。
    yinmin
        4
    yinmin  
       Jun 28, 2024 via iPhone
    #1 正解。 因为 nginx 有 1 个默认网站概念,即使 servername 不匹配也会用这个默认网站配置
    yinmin
        5
    yinmin  
       Jun 28, 2024 via iPhone
    @ccloving #2 amce 用 dns 认证模式
    ccloving
        6
    ccloving  
       Jun 28, 2024
    @yinmin 谢,我试试
    anjing01
        7
    anjing01  
       Jun 28, 2024
    #1 正确/配置下 80/443 的 default_server(80 端口示例)
    server {
    listen 80 default_server;
    server_name _;

    location / {
    return 403;
    }

    error_page 404 /404.html;
    location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    }
    }
    Reitzo
        8
    Reitzo  
    OP
       Jun 28, 2024
    @anjing01 @nitmali @yinmin 谢谢各位大佬指点,问题已经解决,感谢!
    Reitzo
        9
    Reitzo  
    OP
       Jun 28, 2024
    @ccloving #3 可以的,家里所有服务都是用的 ACME.SH 自动更新和部署。
    lovelylain
        10
    lovelylain  
       Jun 28, 2024 via Android
    @ccloving acme.sh 更新证书原理是通过 dns 记录证明你拥有这个域名,跟你网站是不是默认端口部署在当前 ip 没有关系
    bli22ard
        11
    bli22ard  
       Jun 28, 2024
    家里玩,caddy 不比 nginx 好用?自带 acme 和主流 dns 服务商的集成,配置 token 就可以实现基于 dns 验证的 https 证书签发
    Reitzo
        12
    Reitzo  
    OP
       Jun 28, 2024
    @bli22ard #11 主要是玩过了,没有啥可以折腾了,开始自建 liunx 玩服务,顺带学习
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5710 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 06:21 · PVG 14:21 · LAX 23:21 · JFK 02:21
    ♥ Do have faith in what you're doing.