我正在运行 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>
我确信我尝试了一些其他的事情,但此时我只想从头开始,因为我明白我不知道自己在做什么 :/