【问题标题】:Tomcat 7 GWT app ssl configurationTomcat 7 GWT 应用 ssl 配置
【发布时间】:2013-12-02 18:22:30
【问题描述】:

我正在开发托管在 tomcat 7 上的 gwt 项目,现在我在自己的 tomcat 服务器上使用私有 ssl。我使用以下设置在 server.xml 中应用 ssl。

 <Connector port="12004" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           redirectPort="8443" />
 <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
           maxThreads="150" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS" keystoreFile= "/home/ssl/keystore.jks" keystorePass="PASSWORD"/>

  <Host name="myapp.com" appBase="/home/jvm/apache-tomcat-7.0.35/domains/myapp.com" unpackWARs="true" autoDeploy="true"   xmlValidation="false" xmlNamespaceAware="false">
    <Alias>www.myapp.com</Alias>
  </Host>

这可以正常工作,但我认为这对性能不好。因为所有编译的 gwt 代码和图像以及 css 也使用 ssl 加密,据我说这不是必需的。只有对服务器的数据调用应该加密。那么我该怎么做呢?有什么方法可以将填充器放入 ssl 中,这样我就可以加快我的应用程序的速度。或任何其他方式来做到这一点。? 如果我的方法不对,请建议我在 tomcat 上使用 SSL 和 GWT 应用程序的最佳实践。谢谢。

【问题讨论】:

    标签: java tomcat gwt ssl


    【解决方案1】:

    如果您的 servlet(例如 GWT-RPC、RequestFactory 等)在 HTTPS 上,那么您也必须通过 HTTPS 提供 HTML 页面(由于 Same Origin Policy)。

    但是,您可以通过 HTTP 提供 JavaScript、CSS 等文件。只需让 HTML 页面中的链接指向 JS/...-Files 的 HTTP 版本,并确保使用跨站点 (xsiframe) 链接器编译 GWT 代码:

    <add-linker name="xsiframe"/>
    

    不过,会出现的小问题是用户的浏览器会发出警告,表明该站点已加密,但包含不安全的资源。这看起来不是很专业(实际上,这是一个相对较高的安全风险),但另一方面,许多(甚至已建立的)网站仍在使用这种方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-01
      • 2015-05-27
      • 1970-01-01
      • 2017-05-25
      • 1970-01-01
      • 1970-01-01
      • 2013-12-01
      • 2011-08-27
      相关资源
      最近更新 更多