apache - 使用 apache 服务器将 tomcat 重定向到 https (Windows)

标签 apache tomcat mod-rewrite https mod-jk

我需要先将 apache 服务器与 tomcat 集成,然后在本地主机中使用 apache 将 http 请求重定向到 https。

解释:

  1. 我有一个在 tomcat 服务器上运行的 java web 开发项目。设 url 为 http://localhost:8080/myProject
  2. 我需要将我的 tomcat 服务器与 apache 服务器集成,这样 http://localhost/myProject显示页面 http://localhost:8080/myProject
  3. 我需要添加安全证书并将其设为 https 请求,即如果我输入 http://localhost/myProject它应该指向https://localhost/myProject并显示http://localhost:8080/myProject所示页面.

我能够使用 mod_jk 成功集成两个服务器,并且我已经使用 mod_rewrite 并通过在 httpd-ssl.conf 文件中指定证书和 key 安装了自签名安全证书。 这是我包含在 httpd.conf 中的文件:

# Load mod_jk module
# Update this path to match your modules location
LoadModule jk_module "C:/Program Files/BitNami WAMPStack/apache2/modules/mod_jk.so"

# Where to find workers.properties
# Update this path to match your conf directory location
JkWorkersFile C:/softwares/apache-tomcat-7.0.42/conf/workers.properties

# Where to put jk logs
# Update this path to match your logs directory location
JkLogFile C:/MyProject/mod_jk.log

# Set the jk log level [debug/error/info]
JkLogLevel info

# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://localhost$1 [R,L] 

# Send everything for context /myProject to worker ajp13
JkMount /myProject ajp13
JkMount /myProject/* ajp13 

面临的问题: 在删除行时,

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://localhost$1 [R,L] 

它成功地将页面显示为 http 请求。但是在添加该行时,虽然它重定向到 https 请求,但它给出了“未找到”错误。我无法弄清楚如何纠正这个问题。我希望我能够解释这个问题。我是服务器和 Apache 模块的新手,所以这可能是一个非常蹩脚的问题,但请帮我解决这个问题。

最佳答案

也许您的 Apache HTTPD 仅监听端口 80,并且当您请求 https://localhost/ 时在不声明端口的情况下,您的浏览器正在请求标准 https 端口 443。

因此,请检查您是否正在监听 httpd.conf 中的端口 80 和 443,还是仅监听 80。如果仅监听 80,在 Listen 语句中的 listen 语句中添加 443 应该可以解决问题

关于apache - 使用 apache 服务器将 tomcat 重定向到 https (Windows),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39098239/

相关文章:

php - 使用 PHP/Apache 缓存操作码的最简单方法是什么?

apache - SonarQube 4.x only with embedded Tomcat -> 你能为 Apache 的代理添加 AJP 支持吗

tomcat - JRuby 与 Tomcat

ruby-on-rails - 在 Jruby/JRack Tomcat 上发送文件

apache - mod_rewrite 在子目录中

php - 子页面上的 Angular 2 apache .htaccess 文件 404

php.ini session.cookie_domain - 放置什么?

java - 部署War文件到Tomcat有什么好处?

performance - 所有网站图片上的 Mod_rewrite

apache重写: force https and name of server,不是IP