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

如何配置Nginx使其仅通过IP:Port访问,禁止直接IP访问?

解决Nginx端口配置问题的步骤

1. 处理默认80端口的Server块

你当前能直接通过IP访问网站,说明Nginx里存在监听80端口的默认Server配置(可能在nginx.conf主文件或conf.d/default.conf子配置中)。需要修改或移除这个配置:

  • 若要把80端口留给另一个站点,修改该Server块的listen指令为目标端口(比如8081),并配置对应站点的根目录:
server {
    listen 8081;
    server_name _;
    root /path/to/another/site;
    index index.html;
}
  • 若暂时不需要80端口的站点,可直接让该端口拒绝连接:
server {
    listen 80;
    return 444;
}

2. 完善8080端口的Server配置

你当前的8080端口Server块仅配置了监听规则,缺少网站根目录、索引文件等核心内容,导致无法返回页面。补充完整配置:

http {
    server {
        listen 192.158.1.38:8080;
        server_name 192.158.1.38;

        # 替换为你的mkdocs静态文件实际路径
        root /usr/local/mkdocs/site;
        index index.html index.htm;

        location / {
            try_files $uri $uri/ =404;
        }
    }
    ...
}

3. 验证配置并重启Nginx

  • 先检查配置语法是否正确:
nginx -t

输出test is successful则说明配置无误。

  • 重启Nginx使配置生效:
systemctl restart nginx
# 若系统不支持systemctl,使用:service nginx restart

4. 确认端口监听状态

执行以下命令,检查8080端口是否被Nginx正确监听:

ss -tulpn | grep nginx

若结果中出现192.158.1.38:8080,说明监听配置已生效。

5. 测试访问

此时从局域网其他PC访问192.158.1.38:8080即可看到mkdocs网站,直接访问192.158.1.38(80端口)会被拒绝或跳转到你配置的其他站点。

内容的提问来源于stack exchange,提问作者el-don-quijote

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 02:51:08