【问题标题】:HTTPS reverse proxy with url rewrite带有 url 重写的 HTTPS 反向代理
【发布时间】:2019-08-27 03:26:44
【问题描述】:

我想在我的家庭服务器上安装 Nextcloud。 Nextcloud 快照将始终将 Nextcloud 实例放在 /,假设为 https://myserver.ddns.com。但我也想从我的服务器https://myserver.ddns.com/otherstuff/ 提供其他网页,所以我想将 Nextcloud 移动到https://myserver.ddns.com/nextcloud/

似乎这可以通过使用带有 URL 重写的反向代理的 HTTP 服务器来完成,即我在端口 81 上运行 Nextcloud snap,反向代理透明地路由 https://myserver.ddns.com/nextcloud/ -> https://myserver.ddns.com:81/

但我不想将未加密的 Nextcloud 实例暴露给互联网。是否可以为 HTTPS 实例执行此 URL 重写?它需要代理读取 HTTPS 请求,但透明的反向代理不应该能够解密通信?

替代方案当然是手动安装 Nextcloud,但 snap 承诺更容易维护和配置,由比我更了解这些东西的人编写。

【问题讨论】:

    标签: url-rewriting reverse-proxy nextcloud


    【解决方案1】:

    通过让反向代理终止 SSL 连接并将未加密的转发到 Nextcloud 服务器来解决此问题。然后代理可以重写 URL。 Nextcloud 也必须被告知它在一个 url-rewriting 反向代理后面。

    对于 nextcloud snap,您可以使用以下命令(来自https://github.com/nextcloud/nextcloud-snap/wiki/Putting-the-snap-behind-a-reverse-proxy#nginx-optional-custom-path-location-for-reverse-proxy):

    $ nextcloud.occ config:system:set overwritehost --value="myserver.ddns.com"
    $ nextcloud.occ config:system:set overwriteprotocol --value="https"
    $ nextcloud.occ config:system:set overwritewebroot --value="/nextcloud"
    $ nextcloud.occ config:system:set overwrite.cli.url --value="https://myserver.ddns.com/nextcloud"
    

    或者您可以直接在 Nextcloud config.php 中编辑这些值。

    上面的链接没有解释 Apache 的设置,但下面的工作:

    ProxyPass       "/nextcloud" "http://127.0.0.1:8000"
    ProxyPassReverse "/nextcloud" "http://127.0.0.1:8000"
    ProxyPass "/" "http://127.0.0.1:8001/"
    ProxyPassReverse  "/" "http://127.0.0.1:8001/"
    

    其中 8001 端口是静态/其他文件的网络服务器。 出于某种我不明白的原因,尾部斜杠很重要:如果我添加尾部斜杠:

    ProxyPass       "/nextcloud" "http://127.0.0.1:8000/"
    

    然后我被重定向了,但 Nextcloud 无法正常工作,如果我将其从静态重定向中删除:

    ProxyPass "/" "http://127.0.0.1:8001"
    

    然后myserver.ddns.com/foo 在内部被重定向到http://127.0.0.1:8001foo,这显然不起作用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-24
      • 2014-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-27
      • 2018-01-31
      • 2023-03-23
      相关资源
      最近更新 更多