问题代理SSL到Tomcat应用程序

首先是道歉,如果这是一个愚蠢的问题 – 我是新来的这个东西,非常,非常卡住。 我无法find解决我的问题的现有post。

我正在尝试将代理SSL URL转换为Tomcat应用程序。 使用http时,下面显示的configuration工作正常。 在https下,它不。 我想实现的是https – > Apache2.2 – http – > Tomcat6

它是一个虚拟域,我似乎必须configurationApache的唯一选项被限制在一个包含文件(下面)被拉入httpd.conf。

目录部分默认是在那里,之后的内容是由我添加的。

<Directory /var/www/vhosts/<domain>/httpdocs/> php_admin_value open_basedir "/var/www/vhosts/<domain>/httpdocs:/tmp:/:.:../../:../../../:.." </Directory> LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so LoadFile /usr/lib/libxml2.so.2.7.6 LoadModule deflate_module /usr/lib/apache2/modules/mod_deflate.so LoadModule proxy_connect_module /usr/lib/apache2/modules/mod_proxy_connect.so LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so LoadModule proxy_ajp_module /usr/lib/apache2/modules/mod_proxy_ajp.so SSLProxyEngine on ProxyPass /app1/ ajp<link removed 127.0.0.1:8009/app1/> ProxyPass /app2/ ajp<link removed 127.0.0.1:8009/app2/> ProxyPassReverse /app1 ajp<link removed 127.0.0.1:8009/app1/> ProxyPassReverse /app2/ ajp<link removed 127.0.0.1:8009/app2/> 

访问http://mydomain.com/app1/login/do/等工作正常。 https://mydomain.com/app1/login/do/产生一个404错误。 服务器日志状态/ var / www / vhosts // app1不存在。

我不明白为什么configuration试图find这个文件,而不是指向Tomcat的应用程序。

这有点紧急,所以任何build议都会受到欢迎。

干杯乔治

似乎您的代理configuration不在SSL侦听器的上下文中; 你会期望ProxyPass被遇到,那就是它,而是试图在DocumentRoot下面为SSL监听器(这似乎是/var/www/vhosts// )提供一个文档。

修复应该只是将这些ProxyPass(Reverse)行添加到443 VirtualHost。 但是,为了validation到底发生了什么,我们需要更多的configuration – 听起来像共享主机环境,所以你可能无法得到这个信息,但很可能是configuration不适用于443虚拟主机。

如果您在包含的文件(特别是VirtualHost块)中有任何更多的configuration,或者包含该文件的文件的任何访问,那么它应该是一个简单的修复。 否则,你可能会被困在某人的包括一个文件在你的端口443configuration中,就像他们在端口80configuration中包含一个一样。