我试图将一个子目录代理到另一个服务器.我的httpd.conf:
RewriteEngine On
ProxyPreserveHost On
RewriteRule .*subdir/ https://anotherserver/subdir/ [P]
Run Code Online (Sandbox Code Playgroud)
问题是Apache总是记录这个:
AH01144: No protocol handler was valid for the URL /subdir/. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule., referer: http://localhost/
Run Code Online (Sandbox Code Playgroud)
所以在搜索互联网后,我已经激活了这些模块:
LoadModule headers_module modules/mod_headers.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_express_module modules/mod_proxy_express.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_html_module modules/mod_proxy_html.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
LoadModule rewrite_module modules/mod_rewrite.so …
Run Code Online (Sandbox Code Playgroud) 这里有一点非正统的问题:
我目前正试图用一些自定义模块打破Apache.
产生测试的是Apache在内部将其认为太大的请求(例如1 MB垃圾)转发给适当连接的模块,迫使他们处理垃圾数据 - 并且自定义模块中缺乏处理导致Apache完整火上浇油 哦,哎哟,哎哟.
幸运的是,这个特定的问题已得到解决,但问题是否可能存在其他类似的漏洞.
现在我有一个工具供我使用,它允许我向服务器发送原始HTTP请求(或者更确切地说,原始数据通过已建立的TCP连接,如果它遵循一个形式,可以解释为HTTP请求,例如"GET" ......")我想要提出其他想法.(像Slowloris和Nkiller2这样的TCP级攻击目前不是我的重点.)
有没有人有一些好主意如何将服务器的自定义模块混淆到服务器自焚的程度?
我不认为自己是一个非常好的测试人员(我这样做是因为必要和缺乏人力;我很遗憾甚至没有基本的掌握Apache内部能够帮助我),这就是为什么我'希望有一个有见地的回应或两三个.也许你们有些人为自己的项目做过类似的测试?
(如果stackoverflow不是这个问题的正确位置,我道歉.不知道还能把它放在哪里.)
我正在使用mod_xsendfile(v0.12)来提供静态文件,其中Django根据用户和权限控制对文件的访问.
在我的conf文件中,我有:
XSendFile On
XSendFilePath e:/documents/
<Directory e:/Documents>
Order allow,deny
Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)
在我的django代码中,我像这样设置标题:
assert(isinstance(filename, FieldFile))
xsendfile = filename.name
if(platform.system() == 'Windows'):
xsendfile = xsendfile.replace('\\', '/')
response = HttpResponse()
response['X-Sendfile'] = xsendfile
mimetype = mimetypes.guess_type(xsendfile)[0]
response['Content-Type'] = mimetype
response['Content-Length'] = filename.size
Run Code Online (Sandbox Code Playgroud)
在我的日志文件中,我得到:
[Fri Oct 22 08:54:22 2010] [error] [client 192.168.20.34] (20023)The given path
was above the root path: xsendfile: unable to find file:
e:/Documents/3/2010-10-20/TestDocument.pdf
Run Code Online (Sandbox Code Playgroud)
在这个版本中mod_xsendfile
,
XSendFileAllowAbove On
Run Code Online (Sandbox Code Playgroud)
生成错误:
Invalid command 'XSendFileAllowAbove', perhaps misspelled or defined …
Run Code Online (Sandbox Code Playgroud) 我有这样的虚拟主机设置
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
<FilesMatch \.php$>
SetHandler "proxy:unix:/var/run/php/php5.6-fpm.sock|fcgi://localhost/"
</FilesMatch>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
phpinfo() 显示我的网站有 php 5.6 版本。好的!
现在我正在尝试使用 Mod_Ruid2 来限制权限。我将以下内容添加到我的虚拟主机
RDocumentChRoot /var /www/html
<Directory "/www/html/">
Require all granted
RMode config
RUidGid admin0 admin0
</Directory>
Run Code Online (Sandbox Code Playgroud)
尝试访问该网站后,我在日志中看到错误
[Sun Oct 13 16:09:02.492117 2019] [proxy:error] [pid 13571] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /var/run/php/php5.6-fpm.sock (*) failed
[Sun Oct 13 16:09:02.492194 2019] [proxy_fcgi:error] [pid 13571] [client 192.168.0.110:47622] AH01079: failed to make …
Run Code Online (Sandbox Code Playgroud) 我希望这样当用户进入时
http://mysite.com/home
,它会将他重定向到http://mysite.com/page.php?id=home
.这就是我放在我的.htaccess中的内容,但它似乎不起作用.
RewriteEngine On
RewriteRule ^/(.+)$ page.php?id=$1 [NC,L]
Run Code Online (Sandbox Code Playgroud)
它只是将我发送到/ home目录,有一个很好的404.帮助表示赞赏.谢谢.
编辑:
我已经尝试过一些改写,我知道工作,所以现在我确定这不是我的问题.我检查过phpinfo()
,是的,mod重写正在运行,我用LAMP设置apache2,我正在运行最新版本的Linux Mint.
我想在apache中启用mod_vhost_alias.我做了一些谷歌搜索并找到了一个命令
sudo a2enmod mod_vhost_alias
Run Code Online (Sandbox Code Playgroud)
我试过了,但后来我明白了
ERROR: Module mod_vhost_alias does not exist!
Run Code Online (Sandbox Code Playgroud)
如何使mod_vhost_alias存在?
在某处下载?
谢谢!
我想在Haskell中创建一个Web应用程序(例如,它可能是一个博客,论坛或一些动态网页),我需要什么?
(我知道我需要一个http服务器(例如apache或lighttpd).我也知道我应该知道一些Haskell编程.)
我如何让它们一起工作?我不明白整个包/设置.
我需要mod_haskell或其他模块吗?
请问有人可以向我解释一下apache模块是如何工作的以及如何安装它们的?
apache模块mod_auth_passthrough究竟是什么用途?它似乎与CPanel一起发货,有时也很活跃.究竟是什么,它做了什么?
我正在用 C 编写一些 apache (2.2) 模块,而且我对它很陌生,所以我想知道:
我需要知道是否可以创建一个全局变量,该变量将在 apache 服务器开始运行时启动。
看,我需要有一个主机名列表(这将是“特权”),以便我收到的每个请求,我都需要检查主机名是否出现在列表中(以检查它是否是“特权”)。
所以列表应该是全局的(这样每个服务器实例都会有相同的列表实例),我需要在开始时初始化它。
如果可能的话,我该怎么做?
谢谢!
我看到很多关于如何使用 perl、C 构建 Apache 模块的示例,但没有文档描述如何使用 java 构建 Apache 模块。
是否可以使用 Java 构建 Apache 模块?
apache ×10
apache-modules ×10
apache2 ×2
apache2.4 ×2
c ×1
cgi ×1
fastcgi ×1
haskell ×1
http-request ×1
httpd.conf ×1
php ×1
security ×1