首页 文章

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

提问于
浏览
0

我需要首先将apache服务器与tomcat集成,然后使用localhost中的apache将http请求重定向到https .

阐释:

我能够使用mod_jk成功集成两个服务器,并且我已经使用mod_rewrite安装了自签名安全证书,并在httpd-ssl.conf文件中指定了证书和密钥 . 这是我在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模块的新手,所以这可能是一个非常蹩脚的问题,但请帮我解决这个问题 .

2 回答

  • 0

    也许您的Apache HTTPD只监听端口80,当您在没有声明端口的情况下请求https://localhost/时,您的浏览器正在请求标准的https端口443 .

    因此,请检查您是否正在httpd.conf中监听端口80和443,或者仅检查80.如果只有80,则在Listen语句中添加443个侦听句应该可以解决问题

  • 0

    httpd-ssl.conf文件中有一个标记“<VirtualHost default:443>” . 我在标记的末尾添加了以下语句并且它有效 .

    <VirtualHost _default_:443> 
        ....
        JkMount /myProject ajp13
        JkMount /myProject/* ajp13 
    </VirtualHost>
    

相关问题