Mat*_*nit 5 ssl tomcat https apache-2.2
我们有一个 Apache 网站,其中某些部分由 JBoss 提供支持。问题是,我们如何让 Apache 强制将所有 HTTP 请求重定向到 HTTPS 等效项?
在我们的旧服务器(CentOS 4、Apache 2.0、mod_jk)上,我们有以下配置:
<VirtualHost 1.2.3.4:80>
Redirect / https://www.foo.com/
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
这很好用——任何对 PHP、vanilla HTML 或 JBoss 驱动的网页的请求都会被重定向。但是,在我们的新服务器(CentOS 5、Apache 2.2、mod_proxy_ajp)上,相同的配置仅适用于普通页面——不适用于使用 AJP 发送到 JBoss 的任何内容。
我还尝试了以下内容,我在http://www.webmasterworld.com/apache/3050511.htm找到了它:
<Proxy *>
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
</Proxy>
Run Code Online (Sandbox Code Playgroud)
但仍然没有运气。我觉得我错过了一些明显的东西。有什么帮助吗?
PS我无论如何都不是Apache专家。如果这是一个初学者问题,我深表歉意:-P。
如果我理解正确,您想将所有 http 请求升级为 https。如果这是正确的试试这个
<VirtualHost ip:80>
ServerName www.company.com
RedirectMatch permanent ^(.*)$ https://www.company.com$1
</VirtualHost>
<VirtualHost ip:443>
ServerName www.company.com
Include vhosts.d/includes/ssl.conf
# assumes you want to proxy everything on this vhost to jboss:8009
<Location / >
ProxyPass ajp://jboss:8009/
</Location>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
小智 5
此语法将重定向到 HTTPS,保持主机和 URL 相同:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Run Code Online (Sandbox Code Playgroud)
有时您只想重定向目录,即管理区域:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^/admin(|/.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30878 次 |
| 最近记录: |