我在我的服务器中安装了 apache 2.2.3 和 jboss 5.1,在 apache 中我在 php+mysql 中有 2 个应用程序,在 jboss 中我在根应用程序 (/) liferay 门户中有。我使用 mod_proxy 来访问 jboss 应用程序:
<VirtualHost server_ip:80>
ServerName intranet.mycompany.com
ProxyPreserveHost On
ProxyPass / balancer://jbosscluster/
ProxyPassReverse / http://server_ip:8080
</VirtualHost>
但现在我必须仅在 intranet.mycompany.com 中启用 https,而且我不知道在 apache、jboss 中配置 ssl 的位置。我尝试在 server.xml 中的 jboss 中使用 keytool 生成自签名证书,但 apache 没有转发到https://server_ip:8443
我会感谢你的帮助。
如果一切都在同一台服务器上,您需要做的就是在 Apache 中设置 SSL - 您确保已安装 mod_ssl 并几乎使用默认配置样式使其运行。Apache <=> JBoss 通信将像往常一样在同一台服务器上内部发生并且未加密。
给定一个安装了 mod_ssl 包的标准 linux(例如 CentOS)盒子:
文件 server.pem 包含未加密的服务器密钥和从上游机构返回的服务器证书。
这就是基本的想法——server.crt 是在你给了他们 server.csr 文件(和钱)之后从 Thawte 等返回给你的文件。
troyengel 的回答将通过您的 Apache 配置为您提供 HTTPS 访问,但如果我正确理解您的问题,您需要
intranet.mycompany.com
仅通过 HTTPS 而不是通过 HTTP 访问?如果是这种情况,我会将您现有的 VirtualHost 声明修改为以下内容:
这是 troyengel 的 SSL VirtualHost 配置的补充。然后,这应该将任何内容重定向到http://intranet.mycompany.com -> https://intranet.mycompany.com自动保留请求的 URI。