通过 Apache2.4 目录别名的 403 错误:出了什么问题?



我请求一些帮助来保持头发:D更严重的是,我尝试了很多";解决方案";在不同论坛的不同帖子上发现,没有任何结果,所以我需要一个干净和新鲜的观点。。。

所以:我用Apache2.4和Tomcat9用mod_jk运行了一个JEE应用程序。为了避免在我的JEE网络应用程序中存储视频等重内容,我在服务器上创建了一个目录,专门用于一些静态内容。为了做到这一点,我试图在我的apachevhost中设置一个目录别名,但我得到了403错误。

  • 你会在下面找到我的vhost,别名从/video到/etc/mondir/video(我试过以/结尾或不以/结尾(
  • 我尝试了很多目录指令,但没有结果
  • Apache2通过www数据用户拥有目标目录
  • 我还试图在etc/apache2/mods-available/alias.conf中声明目录别名:不是更好

我没有更多的想法,在互联网上也找不到模式的想法。

你能给我一些线索吗?帮助劝告非常感谢!


<VirtualHost *:443>
ServerName mondomaine.com
ServerAlias www.mondomaine.com

ServerAdmin webmaster@localhost

#DocumentRoot /var/www
DocumentRoot /etc/mondir/

<Directory /etc/mondir/>
Options FollowSymLinks
AllowOverride None
</Directory>

#Add acces to static ressource in /etc/mondir
Alias "/video"  "/etc/mondir/video"
Alias "/moncontext/video"  "/etc/mondir/video"

<Directory "/etc/mondir/video">
#Options Indexes MultiViews FollowSymLinks
#AllowOverride None
#Order allow,deny
#Allow from all

#Options FollowSymlinks
#AllowOverride None
#Require all granted

Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require local
</Directory>

RewriteEngine on
RewriteCond  %{HTTP_HOST} ^www.mondomaine.com
RewriteRule   ^video/(.*)  /video/$1 [L,QSA]
RewriteRule   ^video(.*)  /video/$1 [L,QSA]
RewriteRule   ^moncontext/(.*)  /moncontext/$1 [L,QSA]
RewriteRule   ^moncontext(.*)  /moncontext/$1 [L,QSA]
RewriteRule   ^(.*)  /moncontext/$1  [L,QSA]


Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/mondomaine.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mondomaine.com/privkey.pem

JkMount /moncontext/* ajp13_worker
</VirtualHost>

好的指令是"要求所有被授予";但是,最重要的是,问题和解决方案在mod_rewrite方面。默认情况下,重写不会到达文件系统,只到达URI。"重写"规则必须具有"传递"选项(PT标志(,才能被Dir Alias看到。

关于mod_rewrite文档的更多信息:如果你知道在哪里阅读,它就写得很简单。

谢谢大家,

最新更新