apache - 在端口 80 上为 Tomcat 使用相同的 SSL 证书,在 8080 上为 Apache 使用相同的 SSL 证书

标签 apache tomcat ssl ssl-certificate

我有域“www.example.com”的 SSL 证书,我已将此证书安装在运行良好的端口 80 上的 tomcat 服务器中。现在我的要求是在 https 中运行 php 代码,因为我的 Apache 在 8080 上运行,我如何让 https://在端口 8080 上工作。这甚至可能吗?我尝试在 Apache 中安装相同的证书(编辑 SSL.conf 文件以指向我的证书。)。我什至将 tomcat keystore 转换为 apache key 文件。但我想我需要 mod_ssl,它没有安装在我的服务器上,我什至无法安装它(用 mod_ssl 重新配置 Apache)。

总结一下我的问题:

  1. 是否可以在运行在端口 8080 上的服务器上安装 SSL 证书。
  2. 是否可以在 Apache 中使用从 tomcat keystore 生成的相同证书
  3. 最简单的方法是什么?
  4. 如果安装 SSL 证书需要,如何使用 mod_ssl 重新配置 Apache。 (这可能是个愚蠢的问题 -> 我在哪个文件夹下运行 ./configure --enable-ssl... 命令类型)

我的基本要求是通过 https 运行 PHP 和 JSP 代码。

最佳答案

更简单的方法是使用 Apache 作为前端,并使用其 ProxyPass 功能(与您的设置相反)。

让 Apache 在端口 80 和 443 (SSL) 上运行,并将特定网站和/或 URL 的代理请求发送到运行在 127.0.0.1:8080 上的 Tomcat。

它更简单,因为要在 Apache 中设置它,您只需添加一行...

ProxyPass /foo http://127.0.0.1:8080/foo

因此,当收到 https://www.example.com/foo 的请求时,Apache 从 Tomcat 获取/foo,并透明地传回给您……就用户而言,一切都经过 SSL。

如果你不想这样做......

1) Is it possible to install SSL certificate on server running on port 8080.

是的。端口号没有硬编码到任何东西。只需在该 Tomcat 连接器中启用 SSL。

2) Is it possible to use same certificate generated from tomcat keystore in Apache.

应该是。证书是基于域的。他们不关心什么类型的服务器使用它们……但它们确实需要采用正确的格式。您可能需要重新格式化 key 和证书。

关于apache - 在端口 80 上为 Tomcat 使用相同的 SSL 证书,在 8080 上为 Apache 使用相同的 SSL 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13109810/

相关文章:

session - 使用服务更改 session 时间

Tomcat SSL : TLS vs ALL

python - Django REST API 模板DoesNotExist Apache

django - Apache 无法访问为 Django 项目设置的虚拟环境

php - Docker LAMP堆栈-保存PHP项目的位置在哪里?

apache - ioncube加载器问题: undefined symbol: zend_execute_ex

java - 如何设置 Jersey + Tomcat RESTful Java 网络应用程序?

java - 线程池增加时 Apache Tomcat 线程处于 WAITING 状态 类名是 ImageLoadWorker

linux wget 安全认证

java - Jenkins 连接到 LDAP