gpt4 book ai didi

node.js - 如何在同一域上使用代理传递实现 apache Alias

转载 作者:行者123 更新时间:2023-12-02 13:47:23 25 4
gpt4 key购买 nike

我们有一个使用 Apache VirtualHost 运行的 NodeJS 站点,如下所示:

<VirtualHost *:80>
ServerName domain.org
ServerAlias www.domain.org

ProxyPass / http://localhost:8884/
ProxyPassReverse / http://localhost:8884/

ProxyPreserveHost on

LogLevel debug
</VirtualHost>

这很好用。

但是我们现在的任务是安装一个 WordPress 博客作为域的别名

www.domain.org/blog

为此,我们尝试设置一个具有如下别名的虚拟主机:

<VirtualHost *:80>
Alias /blog /var/apache-vhosts/www.domain.org-blog

<Directory /var/apache-vhosts/www.domain.org-blog/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

我们启用了 mod_alias apache 模块,但它就是无法识别它。

还有其他人实现过这一点吗?

我也尝试过包含没有虚拟主机包装标签的别名,但仍然没有喜悦:/

最佳答案

请注意,ProxyPass 优先于Alias

要修复此问题,请声明另一个指向感叹号 (!) 的 ProxyPass

例如:

<VirtualHost *:80>
ServerName domain.org
ServerAlias www.domain.org

# the next line is your fix
ProxyPass /blog !
Alias /blog /var/apache-vhosts/www.domain.org-blog

<Directory /var/apache-vhosts/www.domain.org-blog/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined


ProxyPass / http://localhost:8884/
ProxyPassReverse / http://localhost:8884/
ProxyPreserveHost on
LogLevel debug
</VirtualHost>

您可以在官方 ProxyPass 文档中找到更多信息:

The ! directive is useful in situations where you don't want to reverse-proxy a subdirectory― https://httpd.apache.org/docs/2.4/mod/mod_proxy.html

关于node.js - 如何在同一域上使用代理传递实现 apache Alias,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36101454/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com