我在localhost:80上使用apache web服务器,在localhost:8080上使用tomcat提供的Geoserver
我最近在apache上安装了SSL证书,它工作得很好,除了我收到的消息说我有不安全的内容,我以为他们是GeoServer层。因此,现在我正在尝试为GeoServer启用SSL,并拥有像htis https://example.org:8080/geoserver这样的Openlayers内容,但仍然不确定实现这一目标的最佳方法是什么。
发布于 2020-05-08 05:16:01
我的建议是:在Apache中添加一个(反向)代理,并配置只连接到Apache代理GeoServer的web应用程序。
ProxyPass "/geoserver" "http://localhost:8080/geoserver"
ProxyPassReverse "/geoserver" "http://localhost:8080/geoserver"这样,你只需要允许HTTPS进入防火墙,除非你在防火墙上启用了8080端口,否则没有人有机会访问GeoServers web界面。另请参阅https://gis.stackexchange.com/q/4323/109339了解更多详细信息。
请注意,您应该将GeoServer的https://docs.geoserver.org/stable/en/user/configuration/globalsettings.html#proxy-base-url设置为通过您的Apache可访问的公共URL,例如https://your-apache.com/geoserver -否则从GetCapabilities中的GeoServer生成的绝对URL以http://localhost:8080/geoserver开头(不再可访问)。
如果您还没有使用Apache,我建议您使用nginx。
https://stackoverflow.com/questions/23708317
复制相似问题