nginx配置引发的403问题解决办法

nginx配置引发的403问题解决办法

一、问题:在curl nginx配置的本地域名时出现403

nginx_error.log日志如下:

二、疑问

1、www.requesturi.com配置如下:发现root目录与error日志中的禁止访问的文件不一致,理论上访问www.requesturi.com应该到/usr/local/nginx/html1去查找,为何显示的确是/usr/local/nginx/html禁止访问?

2、curl一下/usr/local/nginx/html1下的一个a.txt文件发现:发现错误竟然是404。

三、解决

大致可以推断,可能是nginx.conf中www.requesturi.com没有配置。查看nginx.conf发现:www.requesturi.com没有配置,而且nginx是默认不允许访问文件的目录的,所以会出现403的错误。

再查看下配置了的www.zhuye.com发现:www.zhuye.com的root目录跟error日志中的禁止访问的目录是一样的,而且server_name为一个ip而不是域名

原因:因为www.requesturi.com没有配置,所以当我们访问www.requesturi.com时,nginx会访问默认(即为www.zhuye.com),在访问a.txt(在www.zhuye.com目录下不存在这个文件)会报出404找不到的错误。

可以通过修改nginx配置,让nginx可以访问文件目录:

显示目录下文件:

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • 详解Nginx服务器和iOS的HTTPS安全通信

    详解Nginx服务器和iOS的HTTPS安全通信 简介 在网络通信中,使用抓包软件可以对网络请求进行分析,并进行重放攻击,重放攻击的解决方案一般是使用一个变化的参数,例如RSA加密的时间戳,但考虑到网络传输时延,时间戳需要有一定的误差容限,这样仍然不能从根本上防止重放攻击.想要较好的解决重放攻击问题,应考虑使用HTTPS通信,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输.身份认证的网络协议,比HTTP协议安全. 实现 对于用浏览器访问的网站,需要向CA申请证书才能保证HTTPS的网

  • CentOS 7下安装Nginx服务器

    安装所需环境 Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用 CentOS 7 作为安装环境. 一. gcc 安装 安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装: yum install gcc-c++ 二. PCRE pcre-devel 安装 PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正

  • CentOS利用Nginx搭建下载功能服务器

    利用nginx在服务器搭建下载功能, 安装Nginx,pcre mkdir /usr/local/nginx tar zxvf pcre-8.12.tar.gz cd pcre-8.12 ./configure --prefix=/usr/local/pcre make && make install tar zxvf nginx-1.0.12.tar.gz tar zxvf nginx-1.0.12.tar.gz cd nginx-1.0.12 ./configure --prefix=

  • 详解基于Centos7+Nginx+Tomcat8的负载均衡服务器的搭建

    由于工作的需求,在使用中,需要搭建负载均衡,研究了Apache+Tomat负载均衡的方案,并且通过检索相关的文章,进行了比较发现,Apache负载负载均衡在使用的效率上,远远不如Nginx的效率高,因此决定使用Nginx来进行服务的搭建.最初YUM安装了Nginx,但是不知道什么原因,Nginx的服务可以正常启动,静态页面也可以正常访问,但是就是无法正常的搭建虚拟主机和负载均衡.对引没有深究原因,决定把他卸载,然后手动安装. 手动安装好Nginx后,一切正常,虚拟主机,负载均衡的配置全部没有任何

  • Nginx实现跨域使用字体文件的配置详解

    本文主要给大家介绍了关于Nginx跨域使用字体文件的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 问题描述 今天在使用子域名访问根域名的CSS时,发现字体无法显示,在确保CSS和Font字体的路径加载无问题后,基本确定是因为跨域的问题. 通过Nginx模块Http_Headers_Module来添加Access-Control-Allow-Origin允许的地址 console报错信息 ccess to Font at 'http://w001.static.akhack.com

  • nginx实现tomcat动静分离详解

    1.为什么要实现动静分离 1)nginx的处理静态资源能力超强 主要是nginx处理静态页面的效率远高于tomcat的处理能力,如果tomcat的请求量为1000次,则nginx的请求量为6000次,tomcat每秒的吞吐量为0.6M,nginx的每秒吞吐量为3.6M,可以说,nginx处理静态资源的能力是tomcat处理能力的6倍,优势可见一斑. 2)动态资源和静态资源分开,使服务器结构更清晰. 2.动静分离原理 服务端接收来自客户端的请求中,有一部分是静态资源的请求,例如html,css,j

  • window下使用nginx提供文件下载服务器配置

    1.前言 当我们希望分享自己的文件时,有多种方式,局域网可以采用共享,rtx传输,qq传输,发送到邮箱,直接u盘拷贝等等.但最简单的就是开启本地服务器,其他电脑通过网页的方式直接下载,这里介绍使用nginx作为服务器进行下载 2.步骤 1.下载nginx http://nginx.org/en/download.html 目前稳定版本为1.80 解压到一个目录 2.修改配置文件 nginx.conf #user nobody; worker_processes 1; #error_log log

  • nginx配置引发的403问题解决办法

    nginx配置引发的403问题解决办法 一.问题:在curl nginx配置的本地域名时出现403 nginx_error.log日志如下: 二.疑问 1.www.requesturi.com配置如下:发现root目录与error日志中的禁止访问的文件不一致,理论上访问www.requesturi.com应该到/usr/local/nginx/html1去查找,为何显示的确是/usr/local/nginx/html禁止访问? 2.curl一下/usr/local/nginx/html1下的一个

  • HTTP 499 状态码 nginx下 499错误的解决办法

    日志记录中HTTP状态码出现499错误有多种情况,我遇到的一种情况是nginx反代到一个永远打不开的后端,就这样了,日志状态记录是499.发送字节数是0. 老是有用户反映网站系统时好时坏,因为线上的产品很长时间没有修改,所以前端程序的问题基本上可以排除,于是就想着是Get方式调用的接口不稳定,问了相关人员,说没有问题,为了拿到确切证据,于是我问相关人员要了nginx服务器的日志文件(awstats日志),分析后发现日志中很多错误码为499的错误,约占整个日志文件的1%,而它只占全部报错的70%左

  • Jenkins+tomcat自动发布的热部署/重启及遇到的问题解决办法(推荐)

    一.背景 公司的项目一直手动maven打包.上传服务器.关闭/开启tomcat,整个流程下来耗时耗力,虽然可以将所有流程通过shell脚本一次性解决,但如果可以通过idea的Jenkins插件一键自动部署,那更省时省力. 下面是一个简单的发布tomcat的shell脚本,执行下面脚本的前提是要在服务器中安装了git.maven # 先关闭tomcat进程 kill -9 `ps aux|grep tomcat|grep -v 'grep'| awk 'NR==1{print $2}'` # 切换

  • 解析阿里云centos7服务器nginx配置及常见问题解答

    前言: 本文参考了jackyzm的博客:https://www.cnblogs.com/jackyzm/p/9600738.html,进行了内容的更新,并请注意这里适用的版本是centos7的版本.并且本文的配置方式曾经在版本8上失败过,因此查看本文前最好先确定服务器的版本. 而关于nginx部分问题的处理,则是参考了文章:http://www.mamicode.com/info-detail-3008792.html进行,其中包括的部分错误如下: 1.make[1]: *** [objs/Ma

  • 关于Spring Boot WebSocket整合以及nginx配置详解

    前言 本文主要给大家介绍了关于Spring Boot WebSocket整合及nginx配置的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 一:Spring Boot WebSocket整合 创建一个maven项目,加入如下依赖 <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId>

  • linux上TCP connection timeout问题解决办法

     linux上TCP connection timeout问题解决办法 最近在产线上经常出现connection timeout的问题,先看看Java 中关于connection timeout 的异常如何产生 JAVA中的timeout java.net.SocketTimeoutException: connect timed out 客户端异常:connect timed out at java.net.PlainSocketImpl.socketConnect(Native Method

  • struts json 类型异常返回到js弹框问题解决办法

    struts json 类型异常返回到js弹框问题解决办法 当struts 框架配置了异常时 例如: <package name="sysCnn" namespace="/" extends="json-default"> <global-results> <result name="error">/WEB-INF/pages/error.jsp</result> <res

  • Linux下IP设置脚本的实例及遇到问题解决办法

    Linux下IP设置脚本的实例及遇到问题解决办法 背景 一个Java web项目有一个功能是IP修改,Linux的IP修改脚本如下: #!/bin/bash #useing parameter ip:netmask:gateway:dns1 #system version:centos6,7/redhat6,7 #read parameter ipaddr=`echo $1|cut -d ":" -f 1` netmask=`echo $1|cut -d ":" -

  • 如何将 Nginx 配置为Web服务器的方法

    阅读之前,建议先阅读初识 Nginx. 之后,我们来了解一下 Nginx 配置. 抽象来说,将 Nginx 配置为 Web 服务器就是定义处理哪些 URLS 和如何处理这些URLS 对应的请求.具体来说,就是定义一些虚拟服务器(Virtual Servers),控制具有特定 IP 和域名的请求. 更具体的来说, Nginx 通过定义一系列 locations 来控制对 URIS 的选择.每一个 location 定义了对映射到自己的请求的处理场景:返回一个文件或者代理请求,或者根据不同的错误代码

  • Android SDK Manager无法更新问题解决办法

     Android SDK Manager无法更新问题解决办法 最近玩ubuntu系统,以前Windows下下载的SDK文件不能用了,只能重新下载,安装完Eclipse和ADT插件,却发现无法更新SDK,显示为: Fetching https://dl-ssl.Google.com/android/repository/addons_list-1.xml Failed to fetch URL https://dl-ssl.google.com/android/repository/addons_

随机推荐