Articles of apache 2.4

与Apache身份validation不起作用的git-http-backend

我想通过Apache使用git-http-backend。 我想要一个公共可读的存储库,但是一些authentication用户可能会推送。 我有以下configuration: SetEnv GIT_PROJECT_ROOT /home/username/git SetEnv GIT_HTTP_EXPORT_ALL SetEnv REMOTE_USER $REDIRECT_REMOTE_USER ScriptAlias /git/ /usr/lib/git-core/git-http-backend/ RewriteCond %{QUERY_STRING} service=git-receive-pack [OR] RewriteCond %{REQUEST_URI} /git-receive-pack$ RewriteRule ^/git/ – [E=AUTHREQUIRED:yes] <LocationMatch "^/git/"> Order Deny,Allow Deny from env=AUTHREQUIRED AuthType Basic AuthName "Git Access" AuthUserFile /home/username/.htpasswd AuthGroupFile /home/username/.htgroup Require group committers Satisfy Any </LocationMatch> 我的存储库可以被匿名克隆,但是在推送过程中没有进行身份validation,任何人似乎都可以推送到回购站。 我试图启用http.recievepack在回购false ,但然后甚至克隆失败,403错误。 我如何解决这个问题?

Debian 9 Stretch LAMP安装使用FPM的沙盒用户

我试图在Debian 9上设置Apache和FPM,就像我们之前用Debian 7和8完成的一样。我相信,在Apache 2.4中mod_fastcgi被赞成mod_proxy_fcgi的弃用,并且随后将其从Debian 9 apt repos,我一直无法完成我们以前的设置。 基本上,我们使用FPM来在单个服务器(登台/开发服务器)上对多个站点进行沙箱。 最终的结果是,每个站点都拥有并分组到一个用户,FPM在该特定用户的进程下运行该站点。 以下是我们使用的Apache vhost示例: FastCgiExternalServer /home/siteusername/www/php5-fcgi -socket /tmp/php5-fpm-siteusername.sock -pass-header Authorization <VirtualHost *:80> DocumentRoot /home/username/www/domain.com/public_html/ ServerName www.domain.com <Directory /home/siteusername/www/domain.com/public_html/> AllowOverride all </Directory> <Directory /home/siteusername/www/> Require all granted AllowOverride all </Directory> AddHandler php5-fcgi .php Action php5-fcgi /php5-fcgi Alias /php5-fcgi /home/siteusername/www/php5-fcgi <ifModule mod_headers.c> Header set X-Robots-Tag "noindex" </ifModule> </VirtualHost> 这里是我们使用的一个FPMconfiguration的例子: [siteusername] […]

使用apache在子文件夹中的子域中运行jetbrains中心

我正在使用jetbrains工具来pipe理一个团队。 使用Apache来pipe理我的域名/子域名。 有一个名为dev.sepidarr.ir的子域,它负责作为我的开发环境的主要入口点。 dev.sepidarr.ir.conf <VirtualHost *:80> DocumentRoot /home/neacodin/domains/dev.sepidarr.ir/ DirectoryIndex index.html <Directory "/home/neacodin/domains/dev.sepidarr.ir"> Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted </Directory> ServerName dev.sepidarr.ir ServerAlias www.dev.sepidarr.ir RewriteEngine on RewriteCond %{SERVER_NAME} =www.dev.sepidarr.ir [OR] RewriteCond %{SERVER_NAME} =dev.sepidarr.ir RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent] </VirtualHost> 我想让每个jetbrains的工具运行在不同的url中,例如我需要upsource作为dev.sepidarr.ir/upsource和hub在dev.sepidarr.ir/hub中dev.sepidarr.ir/hub 。 根据关于如何设置反向代理服务器的官方jetbrains教程 ,我已经为hub创build了一个.conf文件,如下所示。 <VirtualHost *:80> ServerName dev.sepidarr.ir DefaultType none RewriteEngine on AllowEncodedSlashes on RewriteCond […]

Apache反向代理| 通配符目录重新路由(.htaccess)

怎么可能有一个通配符目录代理? 我已经得到了基本的,但问题是,它给出了我的目录,我的htaccess文件: RewriteEngine on RewriteCond %{REQUEST_URI} !(u|api|fonts|images|css|js) [NC] # No directory RewriteRule ^(.*)\.(jpg|gif|png|txt|mp4|mp3|json|js|zip|bmp|tiff|webp|webm|raw|psd|jpeg|jpe|wav)(.*) http://127.0.0.1:9000/owoapi/$1.$2$3?%{QUERY_STRING} [proxy] # One Directory RewriteRule ^([^/]+)/(.*)\. (jpg|gif|png|txt|mp4|mp3|json|js|zip|bmp|tiff|webp|webm|raw|psd|jpeg|jpe|wav) (.*) http://127.0.0.1:9000/owoapi/$1.$2$3?%{QUERY_STRING} [proxy] 当访问domain.tld/image.png ,它工作得很好。 当访问domain.tld/test/image.png ,404代码是由于它包含/ test /在代理URL中,我该如何解决这个问题呢? 编辑:我试图实现的是不包括前面的URL,并使其行为像它被访问通过domain.tld/image.png而不是domain.tld/test/image.png

如何停止ProxyPassMatch(mod_proxy)禁用目录列表(mod_autoindex)?

最近,我用fpm支持编译php 5.3.11,并且尽快使用apache ProxyPassMatch "^/(.*\.php(/.*)?)$" "fcgi://127.0.0.1:9000/$1" DirectoryIndex index.html index.htm index.sthml welcome.html /index.php index.php 它使PHP工作正常,但停止目录列表; 另一方面我有: <FilesMatch ".*\.php.*"> SetHandler "proxy:fcgi://127.0.0.1:9000/var/www/" DirectoryIndex index.html index.htm index.shtml welcome.html index.php /index.php Options +Indexes +Multiviews +Includes +FollowSymLinks </FilesMatch> 它作为ProxyPassMatch反向工作,一切正常,但PHP断裂。 我有我的php-fpm.conf指令:listen = 127.0.0.1:9000 我试过了 listen = /var/run/php-fpm.sock 但是这一切都是一样的。 这是不是可以使用选项+索引+多视图+包括+ FollowSymLinks与ProxyPassMatch一起? 为什么不是我的FilesMatch指令工作? 我什至试图设置处理程序的完整path 相信我,我尝试了几乎所有使用谷歌,服务器故障和堆栈溢出! 谢谢你的帮助。

使用Windows计算机和Apache在Wi-Finetworking上创build自定义域

我有一个路由器和一台笔记本电脑。 在我的笔记本电脑上,我安装了包含Apache的WAMP。 我已经configuration了Apache来授予通过Intranet的访问权限。 使用IP地址,我可以从内部网上的任何其他PC /移动设备访问服务器。 我不想使用IP地址,但一些容易记住名称,如http://free.goodies打开我创build的网页。 注意:WiFi路由器将不会有互联网访问,它将是一个纯粹的内联网networking和笔记本电脑在其中的Windows操作系统。 是否有可能做,如果是的话怎么做?

Apache2 WSS重写

尝试我的运气她的StackOverflow不是正确的地方问。 希望这是我的问题所在! 最近几天,我一直在拉我的头发,使websocket与Apache2.4一起工作。 我终于find了适合我的解决scheme,即: <VirtualHost *:80> ServerName www.domain2.com RewriteEngine On RewriteCond %{REQUEST_URI} ^/socket.io [NC] RewriteCond %{QUERY_STRING} transport=websocket [NC] RewriteRule /(.*) ws://localhost:3001/$1 [P,L] ProxyPass / http://localhost:3001/ ProxyPassReverse / http://localhost:3001/ </VirtualHost> 问题? 那么,只要我切换到wss,我是不走运的。 起初,我希望能够把ws改成wss以上,但是这并没有办法,我仍然得到了一个500错误。 我可能会错过什么? (我使用socket.io,请求如下所示: wss://xxx.yy/socket.io/?auth=YYY&EIO=3&transport=websocket&sid=XXX

服务器不会向一个ISP返回一些请求

我有一个Linode服务器,将不会返回到我平常的ISP的随机GET请求(但从来没有被卡住每次相同的一个)。 如果我切换ISP或使用Opera VPN ,一切运作良好。 Linode说,他们看起来都很好。 服务器的资源很好(这是一个开发服务器,目前只用于testing,非常轻的stream量和开销)。 他们说要检查我的ISP。 我的ISP说,他们都看起来不错,但他们会让工程师看看它。 正如我期待的那样,我们从ISP那里找不到任何答案,我试图find客观的证据来certificate我的诊断非常有限。 我掸掉了Wireshark ,开始诊断。 如果我使用ISP的问题,从浏览器的angular度来看,这有点杂乱无章。 有时一个页面加载正常,有时加载正常,但其他资产将无法加载(CSS,JS,JPEG等)。 有时,页面本身不会加载,并且无限期地保持“加载”,没有服务器响应。 诊断: 在Wireshark中 http.time > 1证实了这个问题没有太多的超时或者长的加载时间,更多的是请求加载或者不加载。 我的标题没有显示任何exception,例如: GET /theme/css/style.css HTTP/1.1 Host:site.com Accept:text/css,*/*;q=0.1 Accept-Language:en-ie Accept-Encoding:gzip, deflate Connection:keep-alive Pragma:no-cache User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.1 Safari/603.1.30 Referer:http%3a//site.com/section/ DNT:1 Cache-Control:no-cache 当我使用Wireshark进行捕捉时,浏览器中的请求停止时,我没有看到太多反馈。 不过,上次我尝试了一下,我得到了一个重复的请求: localhost server TCP 66 [TCP Retransmission] 61162 […]

在apache2.4上为每个用户分开反向代理

从mod_proxy指南我configuration反向代理与用户身份validation。 # Set reverse proxy ProxyPass "/" "http://localhost:10080/" ProxyPassReverse "/" "http://localhost:10080/" ProxyRequests On ProxyVia On <Proxy *> Order deny,allow Allow from all AuthType Basic AuthName "Password Required" AuthUserFile /home/secure/.passwords Require user ivy </Proxy> 这工作如下:用户访问服务器 – >服务器询问用户名/密码 – >用户input他的凭据 – >如果用户常春藤证书正常,然后反向代理工程的本地主机端口10080。 所有用户都添加了htpasswd。 我在Linux上运行apache2.4。 我需要做的是:我希望允许不同的用户使用代理。 在服务器上反向隧道的数量是开放的端口10080,10081,10082,等等…我想分配每个单独的用户使用分开的代理端口。 即: 常春藤 – > 10080 乔 – > 10081 doe – […]

Apache:使用RewriteRule进行模式匹配和分组会导致本地path,而不是获取URL组件

我已经搜寻过这个答案以前是否没有快乐。 我想使用RewriteRule的模式匹配来获取请求的path,并redirect客户端保持path在最终的redirect。 我认为这样的事情会做的伎俩: RewriteRule. ^(.*)$ http://testserver/test/$1 如果用户请求foo ,发送他到test/foo (不要担心循环,我把一些RewriteCond逻辑来防止)。 令我惊讶的是,Apache结束了类似于http://testserver/foo/var/www/html 。 它做了什么是以下几点: /bar /var/www/html/bar 我提出了mod_rewrite的日志级别,发现它做了匹配,但是Apache扩展匹配/的本地path,这是/var/www/html并使用它来redirect浏览器,这将无法正常工作。 我尝试使用[PT] ,我认为这将防止扩大,但它没有。 任何想法,我怎样才能防止发生? 任何帮助,将不胜感激。