我们有一个Java/Jetty服务器。此服务器上的servlet由我们的一些内部应用程序通过http调用。我被要求创建一个将使用许多此类servlet/ API的webapp /网站。然而,这是一个面向外部客户的网站,需要通过https / ssl提供服务。servlet URL看起来像http://internalServer:9999?parameters。现在我的webapp已经准备好了,并且已经部署在了Debian上的Apache上。一切都很好,但是一旦我启用了https/ssl,后端调用就无法通过。在chrome上,我得到“混合内容。页面是在https上加载的,但是通过http请求资源..."。在Safari上,我得到-由于访问控制检查,无法加载资源。
我理解这些错误的原因,但我想知道解决方法。我完全控制Apache服务器和网站代码。我对内部Jetty服务器的控制非常有限,对servelt代码没有控制。(不想弄乱现有的应用程序)。有什么我可以做的只是Apache配置?我可以用它作为Jetty(http)服务器的反向代理吗?谢谢你的帮助。
2条答案
按热度按时间c3frrgcw1#
“混合内容。页面已在https上加载,但正在通过http请求资源...”
该错误消息意味着您的HTML包含通过
http://...
请求的资源。您需要修复请求资源(或引用资源)的HTML(以及javascript和css中的任何引用),以便也使用
https://....
z31licg02#
如果您尝试从https站点调用http服务,将出现
Mixed content
错误。您可以在
example.org.conf
中使用apache2代理设置来避免该错误。您可以在文件夹/apache2/sites-enabled
中找到它添加一些代码:
从你的https网站你必须获取网址
以到达服务。
通过这种方式,您可以从https站点调用服务http。