前传:我创建了一个应与我们公司网站交互的 Web 应用程序。我与负责网站的其他开发人员(不同的公司分支机构)远程工作。我对网络开发完全陌生,没有“上线”经验。
我的应用程序使用 tomcat 8.5 在本地公司服务器上运行。公司网站中包含一个 html 页面,它从我的服务器加载不同的 JavaScript 文件(和 css)。与我的应用程序的交互发生在那里。我曾经通过 HTTP 执行此操作,一切正常。例如:
<script src="http://172.17.123.123/MyProject/js/script.js"></script>
Run Code Online (Sandbox Code Playgroud)
问题:现在开发人员告诉我,我应该获取证书并使用 HTTPS 来使我的服务器和公司 Web 服务器之间的通信更加安全。这就是他所做的,因为他管理的网站可以通过 Internet 访问,并且他可以轻松地从受信任的 CA 生成证书。他不知道如何为本地服务器执行此操作。
我设法启用 HTTPS 并使用自签名证书。现在我用
<script src="https://172.17.123.123:8443/MyProject/js/script.js"></script>
Run Code Online (Sandbox Code Playgroud)
但我收到此错误:
无法加载资源:net::ERR_CERT_AUTHORITY_INVALID
我想为我的服务器使用来自 CA 的证书,但了解到不可能为本地主机获取证书。但我没有找到任何有关本地服务器的信息。我想同样的原则也适用。
问题:使用 HTTPS 进行网络服务器和本地公司服务器之间的通信是否有益?如果是这样,我如何生成可信证书?自签名证书就足够了吗?