首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Apache到Tomcat的SSL卸载在某个地方被覆盖。

从Apache到Tomcat的SSL卸载在某个地方被覆盖。
EN

Server Fault用户
提问于 2016-05-02 12:47:33
回答 1查看 4.3K关注 0票数 0

我被要求将Debian上运行Apache和Tomcat-6的服务器从HTTP升级到HTTPS。我已经成功地在Apache部分获得并安装了SSL证书,并检查它们是否工作(使用两个不同的SSL检查程序)。

接下来,我在/etc/apache2/sites-available/default-ssl中添加了以下块:

代码语言:javascript
复制
<VirtualHost *:80>
    ServerName server.name
    Redirect permanent / https://server.name/
</VirtualHost>

下面是同一个文件中的<VirtualHost _default_:443>块的末尾:

代码语言:javascript
复制
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/

在Tomcat端,/etc/tomcat6/server.xml文件包含两个活动连接器:

代码语言:javascript
复制
<Connector port="8080" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           URIEncoding="UTF-8"
           redirectPort="8443" />

<Connector address="127.0.0.1" port="8009" protocol="AJP/1.3" redirectPort="8443" />

现在,当我进入https://server.name/app/main/login.jspx时,我得到了一个SSL连接,但是它在登录后消失了。

如果我转到https://server.name/app,就会立即重定向到http://server.name/app/main/login.jspx (没有SSL)。

(如果我只转到https://server.name/,就会在/var/lib/tomcat6/webapps/ROOT/index.html中定义的重定向页面上结束。)

我做错了什么?我需要使用AJP代理吗?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2016-05-03 12:47:50

如果在代理配置中使用此连接器,请配置proxyNameproxyPort

代码语言:javascript
复制
<Connector port="8080" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           URIEncoding="UTF-8"
           redirectPort="8443"
           scheme="https" 
           proxyName="server.name" 
           proxyPort="443" 
           secure="true" />

您还需要将schemesecure属性分别设置为https代理的值httpstrue

要将http重定向到apache服务器中的https,请尝试在默认配置/etc/apache2/sites-available/000-default.conf中添加指令。

票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/774300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档