如何使用 Apache2 将服务从子目录 URL 代理到同一台服务器上的另一个端口,同时启用 SSL?

如何使用 Apache2 将服务从子目录 URL 代理到同一台服务器上的另一个端口,同时启用 SSL?

我正在运行 Ubuntu Server 14.10,它安装了 apache2,托管了几个网站。我还安装了一些其他 Web 服务,可以通过其他端口访问。以下是布局(抱歉,我不能发布超过 2 个链接):

  • https://www.example.com
  • https://www.example.com/ttrss=Tiny Tiny RSS
  • https://www.example.com/pydio=Pydio
  • http://www.example.com:720=Gitlab
  • http://www.example.com:4040=Subsonic

我有 www.example.com 的 SSL 证书。我想让其他端口上的服务从子目录解析并遵守 SSL 证书,例如 https :// www.example.com/subsonic/ -> http :// www.example.com:4040

我在 Google 上搜索了很多。它是别名、反向代理和虚拟主机的某种组合……但我似乎无法让它正常工作。这可能吗?我疯了吗?我有一个 /etc/apache2/sites-available/subsonic.conf 文件,但语法太错误了,我甚至懒得发布它。subsonic 的 Web 根目录是 /var/subsonic/jetty/4428/webapp/ 。

有什么想法吗?

编辑:

我尝试的一些迭代细节。我没有保存我的配置,所以我要回去尝试从记忆中做到这一点。我尝试一次解决一个问题:

尝试将 http://hda.surfrock66.com/subsonic 解析为 http://hda.surfrock66.com:4040

尝试 1

<VirtualHost *:80>
    ServerName http :// hda.surfrock66.com/subsonic
    ProxyPass/ http :// localhost:4040/
    ProxyPassReverse  / http :// localhost:4040/
</VirtualHost>

第二次尝试

<VirtualHost *:80>
    ServerName hda.surfrock66.com/subsonic
    ServerSignature Off
    ProxyPreserveHost On
    <Location />
        Order deny,allow
        Allow from all
        ProxyPassReverse http :// 127.0.0.1:4040
        ProxyPassReverse http :// hda.surfrock66.com/subsonic
    </Location>
    DocumentRoot /var/subsonic/jetty/4428/webapp
</VirtualHost>

尝试让 SSL 工作 1

<VirtualHost *:443>
    SSLEngine On
    SSLCertificateFile /etc/apache2/ssl/realcert.crt
    SSLCertificateKeyFile /etc/apache2/ssl/realcert.key
    SSLProxyEngine on
    ServerAdmin [email protected]
    DocumentRoot /var/www
    ServerName hda.surfrock66.com/subsonic
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/subsonic-access.log combined
    ErrorLog ${APACHE_LOG_DIR}/subsonic-error.log
    ProxyHTMLStripComments on
    <Location /subsonic/>
        ProxyRequests off
        RequestHeader unset Accept-Encoding
        ProxyPass http :// localhost:4040/
        ProxyPassReverse http :// localhost:4040/
        Order allow,deny
        Allow from all
    </Location>
</VirtualHost>

我确信我尝试了一些其他的事情,但此时我只想从头开始,因为我明白我不知道自己在做什么 :/

相关内容