我使用带有SSL的Apache2.2和带有JavaWeb应用程序的JBoss 4.2.1。 Apache作为代理服务器,使用AJP协议将数据传输到JBoss或从JBoss传输数据。
问题是当Apache从客户端使用HTTPS获取数据并将其发送到JBoss时,JBoss会获得一些空字段(即某些字段为“”)。 当我使用
时
http://127.0.0.1:8080/myapp/
...
它运作正常!
以前有人遇到过这个问题吗?
感谢您的回复!
我的Apache2设置:
<VirtualHost <ip_address>:443>
ServerAdmin admin@domain
ServerName <domain>
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
SSLProtocol all -SSLv2
SSLHonorCipherOrder On
SSLCipherSuite ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH
SSLProxyEngine On
SSLProxyCheckPeerCN on
SSLProxyCheckPeerExpire on
DocumentRoot /var/www/jboss.local
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/jboss.local>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
RewriteEngine On
RewriteBase /
RewriteRule ^domain$ domain/
</Directory>
ErrorLog /var/log/apache2/jboss.local/error.log
LogLevel warn
CustomLog /var/log/apache2/jboss.local/access.log combined
<Location /myapp/>
Order Deny,Allow
Allow from all
RequestHeader unset Accept-Encoding
ProxyHTMLURLMap / /myapp/
ProxyHTMLURLMap /myapp /myapp
ProxyPass ajp://`127.0.0.1`/myapp/
ProxyPassReverse ajp://`127.0.0.1`/myapp/
RequestHeader unset Accept-Encoding
</Location>