服务器维护,服务器代维,安全设置,漏洞扫描,入侵检测服务

运维之家

 找回密码
 注册
搜索
查看: 5034|回复: 1

apache错误记录整理

[复制链接]
dirtysea 发表于 2010-9-1 16:41:26 | 显示全部楼层 |阅读模式
apache 403错误 Forbidden You don't have permission to access on this server.



apache 403错误,显示信息如下:
---------------------------------------------------------------------------------------------------
您无权查看该网页
您可能没有权限用您提供的凭据查看此目录或网页
果您确信能够查看该目录或网页,请尝试使用 192.168.1.5 主页上所列的电子邮件地址或电话与网站联系。

可以单击搜索,寻找 Internet 上的信息。


HTTP 错误 403 - 禁止访问
Internet Explorer
-----------------------------------------------------------------------------------------------------
去掉显示友好信息的钩后显示Forbidden   You don't have permission to access \ on this server.

-----------------------------------------------------------------------------------------------------
apache昨天调试了一下午,都没有解决这个问题,到今天上午,仔细检查了一遍配置文件httpd.conf,找到这么一段:
<Directory />
     Options FollowSymLinks
     AllowOverride None
     Order deny,allow
     deny from all
     Satisfy all
</Directory>
然后试着把deny from all中的deny改成了allow,保存后重起了apache,然后再一测试我的网页,哈哈!居然问题就出在这,访问测试网站完全正常了。
 楼主| dirtysea 发表于 2012-11-28 10:56:52 | 显示全部楼层
访问apache静态的http内容,有时候比较慢,有时候“找不到网页”404错误;另外在error.log里也报错:(2012-01-04 18:29:43)转载▼标签: win32错误日志虚拟专用网络文件系统internet协议it 分类: 系统问题  
访问apache静态的http内容,有时候比较慢,有时候“找不到网页”404错误;另外在error.log里也报错:

[Mon May 26 10:11:47 2008] [warn] (OS 64)指定的网络名不再可用。 : winnt_accept: Asynchronous AcceptEx failed.


【原因:】

winnt(MPM) - Apache 2.2 参考手册有下列描述
Apache MPM winnt
说明 专门为Windows NT优化过的MPM
状态 MPM
模块名 mpm_winnt_module
源文件 mpm_winnt.c

概述
该多路处理模块(MPM)是Windows NT上的默认值。它使用一个单独的父进程产生一个单独的子进程,在这个子进程中轮流产生多个线程来处理请求。

Win32DisableAcceptEx 指令
说明 使用accept()代替AcceptEx()接受网络链接
语法 Win32DisableAcceptEx
默认值 AcceptEx()是默认的,使用这个指令将禁用它。
作用域 server config
状态 MPM
模块 mpm_winnt
兼容性 仅在 Apache 2.0.49 及以后的版本中可用

AcceptEx()是一个微软的WinSock2 API ,通过使用BSD风格的accept() API提供了性能改善。一些流行的Windows产品,比如防病毒软件或虚拟专用网络软件,会干扰AcceptEx()的正确操作。如果你遇到类似于如下的错误:

[error] (730038)An operation was attempted on something that is not a socket.: winnt_accept: AcceptEx failed. Attempting to recover.

你就需要使用这个指令来禁止使用AcceptEx() 。

【解决办法:】


在httpd.conf文件中添加 Win32DisableAcceptEx 标记,如下:


<IfModule mpm_winnt.c>
ThreadsPerChild 150
MaxRequestsPerChild 10000
Win32DisableAcceptEx
</IfModule>


这样可以允许并发连接更大一些。同时性能上也不会有明显的降低。


如果Apache的error.log还是出现大量的:Sat Dec 24 17:21:28 2006] [warn] (OS 64)指定的网络名不再可用。 : winnt_accept: Asynchronous AcceptEx failed。可以参考下列配置:


1、网上邻居->本地连接->属性->internet协议(TCP/IP)->属性->高级->wins标签->去掉启用LMhosts查询前的勾.
2、控制面版->windows防火墙->高级标签->本地连接设置->服务的标签里勾选安全Web服务器(HTTPS)。
3、然后退出Apache,再打开启动就可以了,一开始我没有退出,直接在那重启,就是不可以,一定要先停止,在开启即可

转帖 (3):

[warn] (OS 64)指定的网络名不再可用。 : winnt_accept: Asynchronous AcceptEx failed.

   以前也看到,但忽略了。这回不能再放过她了。

   看了几篇(winnt(MPM) - Apache 2.2 中文版参考手册),说是因为一些流行的视窗系统产品,比如防病毒软件或虚拟专用网络软件,会干扰AcceptEx()的正确操作。于是在apache设置文件中添加如下语句:

<IfModule mpm_winnt.c>
ThreadsPerChild 1000
MaxRequestsPerChild 10000
Win32DisableAcceptEx
</IfModule>

   停止Apache,再启动。确实新设置起作用了:

[notice] Disabled use of AcceptEx() WinSock2 API
[notice] mod_python: Creating 8 session mutexes based on 0 max processes and 1000 max threads.
[notice] Child 2380: Child process is running
[notice] Child 2380: Acquired the start mutex.
[notice] Child 2380: Starting 1000 worker threads.

   okay,似乎错误不再来了。

问题一、
Apache日志中“指定的网络名不再可用”问题的解决
现象:
[Sat Mar 03 13:29:49 2007] [warn] (OS 64)指定的网络名不再可用。   : winnt_accept: Asynchronous AcceptEx failed.
出现这个故障时硬盘灯狂闪,内存占用极大,访问极慢。
分析:
AcceptEx() 是 Microsoft WinSock v2 API 一组提升网路效率 API 中的指令。而且在 Windows 上似乎蛮有可能出问题的。
   注:可能為了效能还是预设為开啟 AcceptEx()
解决:
    如果无预警的发生问题,我猜可能是 Windows Update 或是防火墙、防毒软体更新了某些网路原件,造成 Microsoft WinSock v2 API 动作不正常,这时可以把这个功能先给关掉。
   依照官方说明 , Win32DisableAcceptEx 这个功能,只有 2.0.49 版以后的才可以使用,所以我猜测 AcceptEx() 这个指令大概也是 2.0.49 才会开始支援(目前最新的就是 2.0.49)。
   关掉 AcceptEx() 的方式只要在 httpd.conf 找到   区段,加入 Win32DisableAcceptEx 就可以了。
Win32DisableAcceptEx #加入这一行
ThreadsPerChild 250
MaxRequestsPerChild 0

疑问:如果把AcceptEx()这个关掉了,是否会影响访问的速度;如果影响速度,又怎样不让速度慢下来。
问题二、
apache错误日志里面出现"connection reset by peer"
分析:
这个问题一般是客户端在连接还没有完全建立的时候就取消连接,比如用户按了浏览器上面的“停止”按钮,一般来说没有什么问题。但是如果频繁出现,就表示很多客户端连接到Apache服务器的响应时间太长了,可能是网络的问题或者服务器性能问题。
问题三、
apache错误日志里面提示default.ida或者cmd.exe不存在
分析:
这个说明Internet上面的某些机器中了蠕虫病毒比如Nimda或者Code Red。你可以略过这些错误,因为这些病毒对Apache无效。
问题四、
apache错误日志里面出现"fcntl: F_SETLKW: No record locks available
现象:
服务器挂起,或者不能启动,错误日志里面出现"fcntl: F_SETLKW: No record locks available"或者类似的信息。
分析:
这个是文件锁定问题,表示Apache服务器在尝试使用一个NFS文件系统上面的同步文件。由于使用并行操作模式,Apache服务器在访问某些特定资源的时候需要一些同步机制。其中一种同步机制就是文件锁定,这个需要被锁定文件那端的文件系统要支持锁定机制,所以使用NFS文件系统上面的文件会出现这种问题。
解决:
为了解决NFS文件系统的局限性,可以在配置文件里面加入一行:
  LockFile /var/run/apache-lock
  这个文件对其他人必须是不能写入的。
  注意:Redhat Linux7.x版本以后已经提供了NFS锁定机制,应该不会出现此问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|手机版|Archiver|运维之家

GMT+8, 2023-2-6 02:17 , Processed in 0.186102 second(s), 14 queries .

Powered by Dirtysea

© 2008-2020 Dirtysea.com.

快速回复 返回顶部 返回列表