带有别名和代理匹配的 Apache



我正在运行一个幽灵网站,该网站由使用vhost中的代理的apache进行前端。 但是,我知道还有一个额外的文件夹需要提供对 -icookie的访问:

[root@gce ~]# ls -l /var/www/html/blog
total 252
-rw-r--r--.   1 apache apache   4511 Feb 27  2017 config.example.js
-rw-r--r--.   1 apache apache   4510 May  2 20:51 config.js
drwxr-xr-x.   6 apache apache   4096 Feb 27  2017 content
drwxr-xr-x.   5 apache apache   4096 Feb 27  2017 core
-rw-r--r--.   1 apache apache  31937 Feb 27  2017 Gruntfile.js
**drwxrwxr-x.   3 apache apache   4096 Oct 20 22:37 icookie <-------
-rw-r--r--.   1 apache apache    725 Feb 27  2017 index.js
-rw-r--r--.   1 apache apache   1065 Feb 27  2017 LICENSE
drwxr-xr-x. 109 apache apache   4096 Feb 27  2017 node_modules
-rw-r--r--.   1 apache apache 166948 Feb 27  2017 npm-shrinkwrap.json
-rw-r--r--.   1 apache apache   3047 Feb 27  2017 package.json
-rw-r--r--.   1 apache apache   2942 Feb 27  2017 PRIVACY.md
-rw-r--r--.   1 apache apache   4710 Feb 27  2017 README.md

但是,在将以下配置添加到 apache 时,我仍然无法访问 icookie 文件夹中的任何文件。据我所知,以下内容应该有效。

<VirtualHost *:443>
ServerName website.com
ServerAlias direct.website.com www.website.com
ProxyPass /icookie !
Alias /icookie /var/www/html/blog/icookie
<Directory /var/www/html/blog/icookie>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ProxyPass / http://10.240.0.3:2369/
ProxyPassReverse / http:/10.240.0.3:2369/
ErrorLog #########
CustomLog ######### common
SSLEngine on
SSLCertificateFile ############
SSLCertificateKeyFile ########
</VirtualHost>

有什么想法吗?

ProxyPassReverse指令中,第二个参数在协议名称和 IP 地址之间缺少一个/字符。

根据阿帕奇文档

如果要创建指向 DocumentRoot,您可能需要显式允许访问目标 目录。

Alias "/image" "/ftp/pub/image"
<Directory "/ftp/pub/image">
Require all granted
</Directory>

对于您的示例,您可能需要添加如下所示的Require指令:

<VirtualHost *:443>
ServerName website.com
ServerAlias direct.website.com www.website.com
ProxyPass /icookie !
Alias /icookie /var/www/html/blog/icookie
<Directory /var/www/html/blog/icookie>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
ProxyPass / http://10.240.0.3:2369/
ProxyPassReverse / http://10.240.0.3:2369/
ErrorLog #########
CustomLog ######### common
SSLEngine on
SSLCertificateFile ############
SSLCertificateKeyFile ########
</VirtualHost>

最新更新