为啥我做了 nginx 反向代理,还是能通过 ip 直接访问? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
ggp1ot2
V2EX    程序员

为啥我做了 nginx 反向代理,还是能通过 ip 直接访问?

  •  
  •   ggp1ot2 2023-01-23 19:38:18 +08:00 5354 次点击
    这是一个创建于 1058 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我有一个服务器,我在上面部了几个 docker 容器,有一个容器是 web 服务。

    这样就可以通过 ip:端口访问这个 web 页面了。

    为了绑定我的域名,我又搜了一堆教程,通过 nginx 做了反向代理。

    实现了直接访问我的域名,就能来到这个服务器的端口,来访问我的 web 服务。

    然后又申请了一个免费的 https 证书,现在直接输入域名就是 https 的了。还把鼓捣 nginx 的配置文件,把 http 的访问直接跳转到 https 。

    本来工作的好好的,结果今天突然发现,我现在直接输入 ip:端口,不能访问。

    但是如果直接输入 ip ,就直接跳转到了我这个 web 页面,还提示不安全,没证书。

    虽然我整套流程是这里搜一点那里搜一点实现的,但是我记得没有哪一步是说直接访问 ip 就跳转到这个服务?

    为啥会这样,我搞域名就是不想让别人直接看到我的 ip ,结果这搞了一通,别人直接访问域名就是我这个 web 页面了,有点难过,本来还觉得学了很多命令,,。,,

    19 条回复    2023-01-24 22:09:12 +08:00
    momocraft
        1
    momocraft  
       2023-01-23 19:48:47 +08:00
    因为你没有做任何让 ip 无法访问的事

    难过不如用脑思考一下 怎样继续达到你想要的效果
    seers
        2
    seers  
       2023-01-23 19:48:59 +08:00 via Android
    Nginx 的 servername 没配置好
    ggp1ot2
        3
    ggp1ot2  
    OP
       2023-01-23 19:51:03 +08:00
    @momocraft #1 谢谢,我好奇的是,明明我开的端口,就算能访问,也应该是 ip+端口访问到我的服务。我不明白的是,为什么现在直接 ip 就能访问了。进一步的操作应该是设置某个参数,让 ip 访问禁用?
    SenLief
        4
    SenLief  
       2023-01-23 19:51:36 +08:00 via iPhone
    你如果不用 nginx ,默认的访问服务就是 ip 。

    可以用 nginx 屏蔽掉 ip 访问,搜一下应该有的,访问返回 444
    Smilencer
        5
    Smilencer  
       2023-01-23 19:53:11 +08:00 via iPhone
    @ggp1ot2 http 默认 80 端口,https 443
    MrKrabs
        6
    MrKrabs  
       2023-01-23 19:59:33 +08:00
    设置文件不发上来?
    lsdxl
        7
    lsdxl  
       2023-01-23 20:01:40 +08:00   1
    搞域名 不影响想看你 ip 人找到你 ip 啊
    juggtt213
        8
    juggtt213  
       2023-01-23 20:03:28 +08:00 via Android   1
    是不是因为你的云服务厂商默认设置了防火墙规则,所以你用二级域名可以通过 Nginx 反代,但是 ip+域名就访问不了。然后用 ip 访问走 http ,所以自然匹配不到你的绑定 https 的规则。然后走了 /config/enable-sites 里 default 配置文件的默认规则
    cpstar
        9
    cpstar  
       2023-01-23 21:20:22 +08:00
    server_name _;
    return 403;
    cccn
        10
    cccn  
       2023-01-23 22:19:50 +08:00
    开启防火墙,开闭端口。
    BluceW
        11
    BluceW  
       2023-01-23 23:16:19 +08:00
    可以直接让你的容器只监听 127.0.0.1 , 然后 nginx 也反代 127.0.0.1:你的端口
    linkbg
        12
    linkbg  
       2023-01-23 23:28:14 +08:00 via Android
    docker 监听本地,不要用 0.0.0.0
    n0099
        13
    n0099  
       2023-01-24 00:25:27 +08:00
    momocraft
        14
    momocraft  
       2023-01-24 00:40:43 +08:00
    不要在公网 IP listen, 可以用一个只有 nginx 能访问到的 IP
    这个 IP 怎么获得视乎你 nginx 怎么跑的
    nginx 也在 docker 跑吗?
    MEIerer
        15
    MEIerer  
       2023-01-24 09:54:41 +08:00
    @momocraft #1 哈哈哈真实了
    fengpan567
        16
    fengpan567  
       2023-01-24 10:30:34 +08:00
    docker 和 Nginx 都部署在同一台服务器的话,容器只监听本机 ip 可以达到你要的效果,但是这样也不安全。
    docker run -d -p 127.0.0.1:hostPort:containerPort image
    realpg
        17
    realpg  
    PRO
       2023-01-24 11:21:22 +08:00
    门口立了个老王家的门牌不能拦住不看门牌推门就进的人
    lff0305
        18
    lff0305  
       2023-01-24 15:58:50 +08:00 via Android
    在一个 docker network 中启动 Web 和 Nginx 。Web 服务不要暴露容器内端口到 host 机器,
    Nginx 需要 暴露端口。同时 Nginx 使用 Web 的容器内私有 IP 配置转发

    或者就用 docker compose, 比较省事
    Posuker
        19
    Posuker  
       2023-01-24 22:09:12 +08:00
    应该是没有配默认请求,所以走 ip 还是能访问到站点。
    在 nginx 配置里加一个 default 的配置,抛出个 403 / 404 之类的错误,就不能直接通过 ip 访问了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2605 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    Wrld is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 15:13 PVG 23:13 LAX 07:13 JFK 10:13
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86