标签: apache2.2

如何在Apache 2.2中完成"AuthType None"

http://httpd.apache.org/docs/trunk/mod/mod_authn_core.html#authtype谈论"AuthType None",并且有一个很棒的例子,说明我需要做什么 - 不幸的是,它似乎是2.3的新功能/2.4.2.2中有没有相同的功能?

身份验证类型无禁用身份验证.启用身份验证后,除非指定了其他身份验证类型,否则通常会由每个后续配置节继承.如果对经过身份验证的部分的子部分不需要身份验证,则可以使用身份验证类型None; 在以下示例中,客户端可以访问/ www/docs/public目录而无需进行身份验证:

<Directory /www/docs> 
AuthType Basic
AuthName Documents
AuthBasicProvider file
AuthUserFile /usr/local/apache/passwd/passwords
Require valid-user 
</Directory>

<Directory /www/docs/public>
AuthType None
Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)

authentication apache2.2

40
推荐指数
3
解决办法
7万
查看次数

fabric似乎启动了apache2,但没有

我正在使用fabric远程启动微型aws服务器,安装git和git存储库,调整apache配置然后重启服务器.

如果在任何时候,我发布fabfile文件

sudo('service apache2 restart')或者run('sudo service apache2 restart')一个停止然后一个开始,该命令显然运行,我得到响应表明apache已经启动,例如

[ec2-184-73-1-113.compute-1.amazonaws.com] sudo: service apache2 start
[ec2-184-73-1-113.compute-1.amazonaws.com] out:  * Starting web server apache2
[ec2-184-73-1-113.compute-1.amazonaws.com] out:    ...done.
[ec2-184-73-1-113.compute-1.amazonaws.com] out: 
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试连接,则拒绝连接,如果我ssh进入服务器并运行 sudo service apache2 status它说" Apache is NOT running"

如果sshed,如果运行 sudo service apache start,服务器启动,我可以连接.还有其他人经历过这个吗?或者是否有人有任何关于我可以在哪里看的提示,在日志文件等中找出已发生的事情.什么都没有apache2/error.log,syslog或者auth.log.

这不是什么大不了的事,我可以解决它.我只是不喜欢这种无声的失败.

ssh python-2.6 apache2.2 fabric ubuntu-10.04

24
推荐指数
2
解决办法
6084
查看次数

.htaccess:如何通过IP限制对单个文件的访问?

我看了一遍,但一直在运行相同的信息,谈论目录级IP限制,通常看起来像这样:

Order Deny,Allow
Deny from all
Allow from 123.123.123.123
Run Code Online (Sandbox Code Playgroud)

是否可以将相同类型的访问限制绑定到页面/文档?

apache .htaccess apache2 apache2.2

22
推荐指数
2
解决办法
4万
查看次数

apache php - 带字节范围的X-SendFile

我在服务器上安装了Apache 2.2.8,我正在尝试使用它X-SendFile来提供视频文件.

不幸的是,有些设备,比如iPad,似乎需要Byte Range为文件服务,但我无法Accept-Ranges使用X-SendFile.

这是代码

header("Content-type: application/octet-stream");
header('Content-Disposition: attachment; filename="' . basename($file_name) . '"');
header('Accept-Ranges: bytes');
header("X-Sendfile: $file_name");
Run Code Online (Sandbox Code Playgroud)

我想避免从php发送字节块导致的开销和复杂性.

apache2.2

14
推荐指数
0
解决办法
1477
查看次数

在Apache Server mod_proxy指令中设置所有ProxyPass映射的超时

我有什么和工作:

我正在使用Apache HTTPD 2.2进行代理请求.我有多个ProxyPass映射:

ProxyRequests On 
<Proxy *>
AddDefaultCharset off
    Order deny,allow
    Allow from all
</Proxy>
ProxyPreserveHost Off

ProxyPass /a http://some_ip/
ProxyPassReverse /a http://some_ip/

ProxyPass /b http://some_other_ip/
ProxyPassReverse /b http://some_other_ip/

...
Run Code Online (Sandbox Code Playgroud)

这很好用.

我想要的是:

我的一些请求需要更长的时间,所以他们超时给我一个代理错误 - 原因:从远程服务器读取错误.

我想为timeout我的所有要求设置.我可以这样做而无需timeout=... KeepAlive=On为每个ProxyPass映射添加吗?

我目前有类似的东西:

ProxyPass /a http://some_ip/ timeout=1200 KeepAlive=On
ProxyPassReverse /a http://some_ip/

ProxyPass /b http://some_other_ip/ timeout=1200 KeepAlive=On
ProxyPassReverse /b http://some_other_ip/

... and i do this for all my ProxyPass mappings
Run Code Online (Sandbox Code Playgroud)

我能以某种方式告诉Apache 为所有映射添加timeout …

apache apache2 mod-proxy apache2.2

12
推荐指数
1
解决办法
7万
查看次数

mod_usertrack/mod_rewrite在第一次请求时不会将cookie传递给下游应用程序

我有apache配置之类的

CookieTracking On

<Proxy balancer://my-cluster>
    BalancerMember http://my-server:8084 loadfactor=1 ping=10 ttl=300 timeout=120
</Proxy>
ProxyPass /mystuff balancer://my-cluster
ProxyPassReverse /mystuff balancer://my-cluster
Run Code Online (Sandbox Code Playgroud)

但是cookie不会my-server在第一次调用时传递给它.随后的调用很好.我猜这是因为CookieTracking在响应上设置cookie,而不是请求.

类似的行为,如果我使用mod_rewritemod_unique_id猿什么mod_usertrack呢:

RewriteEngine On
RewriteCond %{HTTP_COOKIE} !^.*tracking_id.*$ [NC]
RewriteRule ^/ - [CO=tracking_id:%{ENV:UNIQUE_ID}:%{HTTP_HOST}:525600:/]
Run Code Online (Sandbox Code Playgroud)

无论如何都要添加一个cookie,以便它出现在下游应用程序的请求cookie中

甚至可以记录我刚刚创建的cookie.这不起作用(大概是因为C请求cookie)

LogFormat "%{tracking_id}C"
Run Code Online (Sandbox Code Playgroud)

mod-rewrite httpd.conf apache2.2

9
推荐指数
0
解决办法
88
查看次数

使用Django REST框架的本地和mod_wsgi服务器之间的Django JWT身份验证行为不同

我试图确定为什么Authorization:使用本地开发服务器时使用标头的受保护资源的身份验证行为正常,而不是我部署的apache 2.2 w/mod_wsgi实现.

我正在使用django 1.8 django-rest-frameworkdjango-rest-framework-jwt基于JWT的身份验证的lib.apache服务器版本为2.2,带有mod_wsgi.这都是在ubuntu 12.04实例(python 2.7)上运行的.

在localhost上使用manage.py runserver的工作案例:

# manage.py runserver is running
curl -s -X POST \
  -d '{"username":"test@test.com", "password":}' \ 
  http://localhost:8000/portfolio/login

# Response as expected:
##> {"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6Ikp..."}

# Using above token as $TOKEN_STR with JWT prefix for Auth header: 
curl -X GET -H "Content-Type: application/json" \ 
  -H "Authorization: $TOKEN_STR" \
  http://localhost:8000/portfolio 

# Response as expected
##> {"data":"[...]"}
Run Code Online (Sandbox Code Playgroud)

用apache2.2 mod_wsgi破案:

curl -s -X POST \
  -d '{"username":"test@test.com", "password":}' \ 
  http://myremote.com/django/portfolio/login

# Response …
Run Code Online (Sandbox Code Playgroud)

apache django mod-wsgi apache2.2 django-rest-framework

8
推荐指数
1
解决办法
926
查看次数

Apache 2.2重定向到SSL*然后*做auth(使用解决方案<但它是废话吗?)

似乎是apache的地方所以这里去:)

古老的问题:我如何重定向HTTP-> HTTPS,然后只有在HTTPS时才进行身份验证?

哦 - 我想把它大部分放在一个可以包含在多个<directory>或<location>块中的片段中,所以没有基于虚拟主机级别随机路径的重写...

好吧,这就是我所拥有的似乎有用的东西:

在VirtualHost块的顶部

# Set ssl_off environment variable 
RewriteEngine on
RewriteCond %{HTTPS} =on
RewriteRule ^ - [E=ssl]
Run Code Online (Sandbox Code Playgroud)

在位置或目录块中

RewriteEngine on
# Case 1 redirect port 80 SSL
RewriteCond %{HTTPS} !=on
RewriteCond %{SERVER_PORT} =80
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [R=301]

AuthType Basic
AuthBasicProvider external
AuthExternal auth_pam
AuthName "My Underpants"
AuthzUnixgroup on
Order Deny,Allow
Deny from all
Allow from env=!ssl
Satisfy any
Require group nice-users
Run Code Online (Sandbox Code Playgroud)

加号

所有这些条件都可以将Require's抽象为一个片段文件,以便在每个位置包含在一行中

它修复了强制每个位置的SSL和身份验证,因此错误的可能性更小

血淋淋的地狱,这很难直观!我所知道的一切可能都很脆弱......

有没有更好的方法(不是我发现的......)?

如果有任何严重的缺陷,将非常欢迎评论:)

如果Apache有一个合理的配置语法与泛型,Aside Life会更容易

<If expression> </ If> …

apache mod-rewrite apache2 basic-authentication apache2.2

7
推荐指数
1
解决办法
3597
查看次数

从Apache配置中删除/ var/www/icons别名

我有一个/var/www/icons在我的Web服务器上调用的目录,它在我的Apache配置中也被引用为别名,如下所示:

Alias /icons/ "/var/www/icons/"
Run Code Online (Sandbox Code Playgroud)

该目录包含许多未使用AFAIK的小型PNG和GIF,以及README文件.

我可以安全地从我的Apache配置中删除这个别名吗?如果没有,我的申请的哪个方面是删除这可能会产生的影响?

这个目录中的文档很少,我必须承认,直到现在我还没有遇到它.

apache webserver apache-config vhosts apache2.2

7
推荐指数
1
解决办法
1万
查看次数

为什么不使用警告FATAL =>'all'似乎有效?

这个脚本:

use warnings FATAL => 'all';

warn 'warning';
die 'death';
Run Code Online (Sandbox Code Playgroud)

...导致'警告'被记录,但不会在那时死亡,而是死于'死亡'.

我有一个mod_perl模块,它覆盖$main::SIG{__DIE__}了在开发过程中基本上向浏览器吐出die()消息,但它没有触及SIG{__WARN__},所以这里发生了什么?

这是在Windows Server 2003上的perl 5.10.1,在PerlSwitches中使用"-w".

perl warnings mod-perl apache2.2

6
推荐指数
2
解决办法
505
查看次数