Nginx配置动态代理后通过curl访问报403问题

2023-12-01 0 958
目录
  • 问题描述
  • 尝试解决
    • 分析
    • 在网上找的解决方案
    • 是终解决
  • 总结

    今天生产环境遇到了一个问题,在测试环境其他系统调用我们系统的一个接口没问题,在生产环境死活调不通

    问题描述

    有业务人员反馈最近刚发版的一个服务提供的接口,其他系统一直调用不通。

    尝试解决

    分析

    单体项目,系统部署架构很简单,抽象一下如下图所示:

    Nginx配置动态代理后通过curl访问报403问题

    经过几次尝试有如下发现:

    • 浏览器上访问正常,不管是外网还是局域网
    • 通过curl请求接口,请求tomcat地址正常,请求nginx地址返回403
    • 其他系统通过通过nginx地址调用返回403,通过tomcat地址就正常

    在网上找的解决方案

    在网上搜索nginx配置动态代理报403,一般搜到4种情况

    1、由于启动用户和 nginx 工作用户不一致所致

    对比nginx配置文件中的用户与实际启动nginx用户是否一致

    # 查看实际启动用户
    ps -ef | grep nginx
    # 查看配置文件中配置的用户
    cat /usr/local/nginx/conf/nginx.conf

    2、缺少 index.html 或者 index.php 文件,就是配置文件中 index index.html index.htm 这行中的指定的文件

    查看root的配置目录下是否有index.html等文件,没有的话会报403

    server {
    listen 80;
    server_name localhost;
    index index.html;
    root /data/www;
    }

    3、权限问题,如果 nginx 没有 web 目录的操作权限,也会出现 403 错误

    运行nginx的用户对root的配置目录没有读写权限

    # 修改web目录的读写权限,或者把nginx的启动用户改成目录的所属用户,或者将web目录的所属用户改为nginx的启动用户,重启nginx即可
    chmod -R 777 /data/www
    chown -R nginx:nginx /data/www

    4、SELinux 设置为开启状态(enabled)的原因

    # 查看当前selinux的状态
    /usr/sbin/sestatus -v
    # 将SELINUX=enforcing修改为selinux=disabled
    vi /etc/selinux/config
    SELINUX=disabled
    # 重启系统生效
    reboot

    是终解决

    最终发现都不是上述四种情况,经过多方分析,发现配置目录下多了一个配置/usr/local/nginx/conf/conf.d/agent_deny.config,内容大概如下所示:

    # 禁止Scrapy等工具的抓取
    if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {
    return 403;
    }
    # 禁止UA及UA为空的访问
    # 。。。
    # 禁止非GET/POST方式的抓取
    # 。。。

    第一条就将curl和httpclient给禁用了,这也就解决了问题描述里对方系统调用接口和使用curl调用nginx地址时调不通的原因了。

    解决方法,最终提供两个思路:

    1、httpclient调用时修改User_Agent

    2、直接调用tomcat接口

    总结

    遇到问题多总结,网上的答案不一定能解决你的问题,还要具体问题具体分析,多分析现象,根据现象找到蛛丝马迹。

    到此这篇关于Nginx配置动态代理后通过curl访问报403问题的文章就介绍到这了,更多相关Nginx动态代理报403内容请搜索悠久资源以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠久资源!

    收藏 (0) 打赏

    感谢您的支持,我会继续努力的!

    打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
    点赞 (0)

    悠久资源 Nginx服务器 Nginx配置动态代理后通过curl访问报403问题 https://www.u-9.cn/server/nginx/8430.html

    常见问题

    相关文章

    发表评论
    暂无评论
    官方客服团队

    为您解决烦忧 - 24小时在线 专业服务