jetty - 地理服务器和迁移到 HTTPS
问题描述
我已经成功安装了平台独立二进制版本 Geoserver ( http://geoserver.org/release/2.16.2/ )。使用它已经有一段时间了,没有真正的问题。我现在想将此版本的 Geoserver 用于 OpenLayers 网站(使用 GeoLocation),但这需要使用 HTTP 的所有组件部分都使用 HTTPS...Geoserver 是我需要迁移的最后一个服务器。
我在网上查看过,似乎有很多关于将 Geoserver 移动到 HTTPS 的信息,但它与我的安装并不完全相关。一些示例讨论 server.xml 文件(我的安装没有)和更新我没有的 apache conf 文件(/etc/apache2/sites-avaiable/smallmelo-le-ssl.conf)所以我我正在努力获取有关我特定版本的 Geoserver 的说明。文档声明它在 Jetty servlet 上运行。有没有人有关于如何配置 https 的任何文档或链接?
进步!!所以我的安装是使用 Jetty。我已经使用有效证书正确设置了密钥库。我已经更新了 start.ini 文件以反映密钥库和密码的位置,但是......当我尝试运行 geoserver 时,我得到:
ERROR : No module found to provide ssl for https{enabled}
我的码头安装的模块文件夹中没有 SSL.MOD 模块。我确实从https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/9.2.13.v20150730/挖出了一个模块(ssl),但我现在得到:
java.lang.IllegalStateException: No constructor class org.eclipse.jetty.server.ServerConnector([],{}) in file:/C:/Program%20Files/Geoserver/geoserver-2.16.2/etc/jetty-https.xml
我一直在努力找出如何更新此文件并添加所需内容。问题是我不是 Java 专家,所以我不想只是随机复制别人的配置设置。
解决方案
这是一个找到Jetty 教程并遵循它的简单案例,GeoServer 并不关心https
.
但是,我应该警告您,在 GeoServer 文档中找不到太多帮助的原因是您不应该在生产环境中运行与平台无关的二进制文件。这就是文档需要一个server.xml
(tomcat 的一部分)并假设您位于旨在处理 ssl 的 Apache2 或 Nginx Web 服务器的原因。
推荐阅读
- python - 通过 Python 在 DigitalMicrograph 中注释
- javascript - 在 Javascript 中,如果我有一个很长的标记模板文字,如何包装它而不在结果字符串中放置换行符?
- javascript - 无法在反应应用程序中使用设置状态设置用户名
- r - 我如何以简洁的方式选择R中数据集中的一组列
- angular - Angular 8 嵌套订阅
- java - Java 14 记录和数组
- javascript - 使用 Ajax 和 formData 的 Laravel 419 错误,
- python - 屏蔽不同大小的数组,然后替换另一个数组的元素
- javascript - vue.runtime.esm.js?2b0e:619 [Vue 警告]:属性或方法“add”未在实例上定义,但在渲染期间引用
- visual-studio - VS 2019 中 Azure LogicApps 的架构和映射