3

我在我的项目中使用这个 tileserver - https://openmaptiles.com/server/(我将它与 Docker 一起使用)。

如何在 webserver (ubuntu server 18.04) 中启用 HTTPS 协议?

4

1 回答 1

0

您好,我在启用了 vhost 的服务器中通过 certbot 启用了 https。

map.conf (http)

<VirtualHost *:80>
ServerName map.xxx.com
ServerAlias map.xxx.com
ServerAdmin webmaster@localhost


ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
ProxyPreserveHost On
ProxyRequests Off


RewriteEngine on
RewriteCond %{SERVER_NAME} =map.xxx.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

但问题是 /styles/positron/style.json 有 http 请求。因此导致混合内容问题。

我已经尝试了所有方法(将 style.json 中的 http 更改为 https 会导致其他错误),但与此问题无关。

如果它可以帮助,也许你会找到下一个问题的解决方案。

编辑:只需添加

RequestHeader set X-Forwarded-Host "map.xxx.com"
RequestHeader set X-Forwarded-Proto "https"

在 https vhost conf 上由 certbot 生成。

于 2018-08-31T09:04:12.700 回答