首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有tomcat ( moqui )的Nginx SSL不能稳定运行https地址的moqui

带有tomcat ( moqui )的Nginx SSL不能稳定运行https地址的moqui
EN

Stack Overflow用户
提问于 2016-01-29 06:14:37
回答 1查看 133关注 0票数 0

我在tomcat 8前面有带有ssl的nginx,而moqui在tomcat的内部。

moqui conf文件中的webapp部分是

代码语言:javascript
复制
<webapp name="webroot" http-port="" https-enabled="false">
    <root-screen host=".*" location="component://webroot/screen/webroot.xml"/>
</webapp>

用于ssl报头的nginx conf

代码语言:javascript
复制
     proxy_set_header        Accept-Encoding     "";
     proxy_set_header        X-Forwarded-For     $remote_addr;
     proxy_set_header        Host                $http_host;
     proxy_set_header        X-Forwarded-Host    $host;
     proxy_set_header        X-Forwarded-Server  $host;
     proxy_set_header        X-Real-IP           $remote_addr;
     proxy_set_header        X-Forwarded-Proto   $scheme;

     proxy_pass http://localhost:8080/;
     proxy_http_version 1.1;

Tomcat添加RemoteIpValve

代码语言:javascript
复制
<Valve className="org.apache.catalina.valves.RemoteIpValve"
   internalProxies="192\.168\.1\.14|127\.0\.0\.1"
   remoteIpHeader="x-forwarded-for"
   remoteIpProxiesHeader="x-forwarded-by"
   protocolHeader="x-forwarded-proto"
/>

这应该可以使tomcat (moqui)对所有资源都有https:// address。

但我在地址上有个奇怪的图案。每3次刷新一个页面(例如登录),我就会在https:// address上得到一次正确的信息,其余两次就会得到http://.。如果我刷新页面的速度非常快,那么模式就会发生变化,用http://,刷新一两次,然后用https://.刷新一次。当它是https:// page并且页面上的链接也是https时,当通过页面上的链接单击时,它会转到http。

我使用Moqui1.6.2运行nginx1.8.0和tomcat 8。我不知道有没有人也遇到过这个问题。我不知道这是nginx和tomcat的问题,还是moqui的问题。非常感谢你的任何想法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-29 19:22:09

您想做什么,总是要通过HTTPS (除了设置为不需要它的屏幕)?

如果是这样的话,webapp .@https应该是正确的,为了获得URL生成的最佳结果,您还应该告诉它http/https端口(如果不是80/443)和http/https主机(所有这些都是webapp元素上的属性)。

如果当屏幕需要HTTPS (这是webapp元素设置的目的)时,问题不在URL生成或转发到https中,那么nginx或Tomcat配置可能会出现问题。

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

https://stackoverflow.com/questions/35078029

复制
相关文章

相似问题

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