Url rewriting 带url重写的HTTPS反向代理

Url rewriting 带url重写的HTTPS反向代理,url-rewriting,reverse-proxy,nextcloud,Url Rewriting,Reverse Proxy,Nextcloud,我想在我的家庭服务器上安装Nextcloud。Nextcloud快照将始终将Nextcloud实例放在/,比方说。但我也想从我的服务器上为其他网页提供服务,所以我想将Nextcloud移至 这似乎可以为HTTP服务器使用带有url重写的反向代理完成,即,我在端口81处运行Nextcloud快照,反向代理透明地路由-> 但我不想将未加密的Nextcloud实例公开到internet。是否可以对HTTPS实例执行此URL重写?它需要代理读取HTTPS请求,但是透明的反向代理不应该能够解密通信 当然,

我想在我的家庭服务器上安装Nextcloud。Nextcloud快照将始终将Nextcloud实例放在/,比方说。但我也想从我的服务器上为其他网页提供服务,所以我想将Nextcloud移至

这似乎可以为HTTP服务器使用带有url重写的反向代理完成,即,我在端口81处运行Nextcloud快照,反向代理透明地路由->

但我不想将未加密的Nextcloud实例公开到internet。是否可以对HTTPS实例执行此URL重写?它需要代理读取HTTPS请求,但是透明的反向代理不应该能够解密通信


当然,另一种选择是手动安装Nextcloud,但snap承诺由比我更了解这方面知识的人编写的更易于维护和配置,这一点很有吸引力。

通过让反向代理终止SSL连接并将未加密的数据转发到Nextcloud服务器,这一点得到了解决。然后代理可以重写URL。还必须告诉Nextcloud它位于url重写反向代理的后面

对于nextcloud snap,可以使用以下命令(从):

或者您可以直接在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是静态/其他文件的Web服务器。 出于某些我不理解的原因,尾部斜杠很重要:如果我添加了尾部斜杠:

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
这显然不起作用

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