Apache/2.4.7(Ubuntu)ProxyPass

Apache/2.4.7(Ubuntu)ProxyPass,apache,reverse-proxy,apache2.4,Apache,Reverse Proxy,Apache2.4,我正试图使用/etc/apache2/sites enable form sites available中链接的这个文件(尽可能简单)配置一个简单的ProxyPass(相同的文件似乎适用于apache 2.2,但可能是我在以前的安装中做过其他配置,我记不起那些配置) 注意:我使用的是IPADDRESS而不是服务器名,但我认为这不是问题所在。 注2:我不是apache web服务器专家:) 但它不起作用,所以url http://IP_SERVER_ADDRESS:8880/test2 工作

我正试图使用/etc/apache2/sites enable form sites available中链接的这个文件(尽可能简单)配置一个简单的ProxyPass(相同的文件似乎适用于apache 2.2,但可能是我在以前的安装中做过其他配置,我记不起那些配置) 注意:我使用的是IPADDRESS而不是服务器名,但我认为这不是问题所在。 注2:我不是apache web服务器专家:)

但它不起作用,所以url

http://IP_SERVER_ADDRESS:8880/test2
工作正常,但是代理url

http://IP_SERVER_ADDRESS/test2
不起作用,出现错误

Not Found

The requested URL /redmine was not found on this server
apache2ctl-S的输出看起来很奇怪,因为显然没有使用虚拟主机配置(?)


很确定我错过了一些简单的东西,但我找不到

这个答案在Apache/2.4.7(Debian)ProxyPass中进行了测试

见/etc/apache2/apache2.conf:

# Include the virtual host configurations:
IncludeOptional sites-enabled/*.conf
以前的版本是

# Include the virtual host configurations:
Include sites-enabled/
所以基本上在Apache2.4(Debian和derivated)中,您必须使用扩展名为.conf的文件来限制头痛。。。。 在Apache2.2中,文件名中不需要.conf扩展名

其他详情:

  • 在站点中启用的配置文件(指向可用站点的软链接)必须有一个扩展名.conf,因此无论您想要什么。conf
  • 您必须使用a2ensite来启用配置,因为如果可用站点中的文件没有“正确”的扩展名.conf,它会说“错误:您想要的站点不存在!”。例如,如果您使用一个名为mysite的文件,并尝试使用命令“a2ensite mysite”启用配置mysite,您将收到一个错误。如果使用名为myfile.conf的文件,相同的命令也可以正常工作。。。如果您在启用了conf文件的站点中手动创建软链接,而没有“conf”扩展名,那么该站点将无法工作
  • 您可以在具有正确扩展名(.conf)的可用站点中创建软链接,链接到不具有正确扩展名的文件alredy peresent in sites available。在这种情况下,配置将起作用,但如果使用A2Dispate禁用站点,它将显示“错误:您想要的站点不存在!”
  • 找到解决方案后,我找到了一些相关链接

    # Include the virtual host configurations:
    IncludeOptional sites-enabled/*.conf
    
    # Include the virtual host configurations:
    Include sites-enabled/