我有带有 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>