ZBLOG

server { listen 80; # 设置监听端口 resolver 8.8.8.8; # 使用 Google 的公共 DNS location / { # 检查请求 URI 是否包含特定字符(例如 "badword") if ($request_uri ~* "badword") { return 404; # 返回404错误 } proxy_pass ...

C:\Windows\System32\drivers\etc\hosts 文件中进行修改,并不能直接实现你的需求,即通过浏览器输入 badword 弹出 404 错误。hosts 文件的主要功能是将域名映射到 IP 地址,而不是处理请求或返回特定的 HTTP 状态码。

不过,我可以帮你理解一下整体流程,如何让 Nginx 配置和 hosts 文件配合使用,达到你的目标。

1. Nginx 配置

首先,你已经有了一个基本的 Nginx 配置来检查 URI 是否包含 “badword”,并返回 404。确认你的配置文件(如 /etc/nginx/nginx.conf 或某个站点配置文件)已正确加载并没有语法错误:

server {
    listen 80;  
    resolver 8.8.8.8;  
    
    location / {
        if ($request_uri ~* "badword") {
            return 404;  
        }

        proxy_pass http://$http_host$request_uri;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_intercept_errors on;
        error_page 404 = @error404;  
    }

    location @error404 {
        return 403;  
    }
}

确保你已经重新加载了 Nginx 的配置:

sudo nginx -s reload

2. 修改 hosts 文件

假设你想通过自定义域名访问这个 Nginx 服务(例如 myapp.local),你需要在 hosts 文件中添加相应条目,将该域名指向你的本地服务器(127.0.0.1)。

打开 C:\Windows\System32\drivers\etc\hosts 文件,并添加以下行:

127.0.0.1 myapp.local

3. 测试

现在,你可以在浏览器中访问 http://myapp.local/badword,根据 Nginx 的配置,它应该会返回一个 404 页面。

注意事项

  • 确保没有其他服务占用端口 80。
  • 如果使用的是 Windows 防火墙或者其他安全软件,可能需要允许入站流量。
  • 在浏览器中清除缓存,以确保能看到最新的变化。

希望这些信息能帮助你完成设置!如果还有其他问题,请随时问我。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://sdn.0voice.com/?id=7956

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?