如何通过ajax通过SSL从本地html文件调用web api

How to call a web api via ajax over SSL from a local html file?

本文关键字:文件 html 调用 web api ajax 何通过 通过 SSL      更新时间:2023-09-26

我在may桌面上有一个本地html文件,该文件访问一个web api(JAX-RS),该api用一些JSON数据进行响应。我启用了CORS,一切都很好,但只是没有SSL。如何使其与SSL一起工作?我使用自签名证书,可以从WPF应用程序调用此web api,但从JavaScript应用程序(独立的html文件)调用,当Chrome在POST之前发送OPTIONS飞行前消息时,请求似乎甚至无法到达服务器。我还尝试在浏览器中导入自签名证书,但没有任何更改。

飞行前请求不允许包含实体主体或凭据。如果您使用的是预先点燃的请求,则不能使用双向SSL。

解决方案是更改服务器,使证书成为可选的。我只使用ApacheHTTP服务器或Tomcat完成了这项工作,但我认为其他服务器也能够做到这一点。

在apache中,应该将设置更改为

SSLVerifyClient optional

在Tomcat中,SSL设置应更改为

clientAuth="want"

如果没有此更改,只有CORS简单请求才能工作。