在 apache 虚拟主机中重定向和隐藏端口(文件夹) - xwiki
Posted
技术标签:
【中文标题】在 apache 虚拟主机中重定向和隐藏端口(文件夹) - xwiki【英文标题】:redirect and hide port (folder) in apache virtualhost - xwiki 【发布时间】:2020-06-28 13:55:14 【问题描述】:环境:JETTY 9.4 上的 Ubuntu 18、Apache2、XWiki 12.1
我在https://wiki.company.com:8443/xwiki/
上有xwiki,我想隐藏端口8443
和可选的/xwiki/
。
我尝试过使用虚拟主机:
<VirtualHost *:443>
ProxyPreserveHost On
SSLProxyEngine On
SSLProxyCheckPeerCN Off
SSLCertificateFile /etc/ssl/certs/company.crt
SSLCertificateKeyFile /etc/ssl/private/comapny.key
ProxyPass / https://wiki.company.com:8443/xwiki/
ProxyPassReverse / https://wiki.company.com:8443/xwiki/
</VirtualHost>
这种类似的解决方案适用于许多项目,但不适用于 xwiki。问题是在这个解决方案中,xwiki 在加载一些文件时存在问题,因为它仍然尝试从
https://wiki.company.com/xwiki/webjars/wiki%3Axwiki/drawer/2.4.0/css/drawer.min.css
而不是
https://wiki.hl-display.com/webjars/wiki%3Axwiki/drawer/2.4.0/css/drawer.min.css
那么也许还有其他解决方案,例如删除xwiki
ProxyPass / https://wiki.company.com:8443/
ProxyPassReverse / https://wiki.company.com:8443/
在浏览器中输入时将用户重定向到 https://wiki.company.com
到 https://wiki.company.com/xwiki/
或者mod重写来替换字符串
https://wiki.company.com/xwiki/hhh/jjj/aaa
到
https://wiki.company.com/hhh/jjj/aaa
?
我尝试了很多设置,但都没有成功:(
【问题讨论】:
你可以尝试通过htaccess重定向它。 Xwiki 安装在 JETTY 9,4 上。我使用 Apache Virtualost。 重写条件可以写在apache虚拟主机配置文件中。 你能帮我解决重写条件吗?我尝试了很多组合都没有成功:( 查看***.com/questions/9611521/… 【参考方案1】:好的,我找到了解决方案 :) 在 VirtualHost 中添加 3 行
RewriteCond %HTTP_HOST wiki.company.com$ [NC]
RewriteCond %REQUEST_URI !^/xwiki/(.*)$
RewriteRule ^(.*)$ /xwiki/ [R=301,L]
所以现在当用户输入确切的 URL:https://wiki.company.com
时,它将重定向到 https://wiki.company.com\xwiki\
。所以 wiki 工作,端口被隐藏并且很好的 URL 工作:)
所以完整的代码是:
<VirtualHost *:443>
ProxyPreserveHost On
SSLProxyEngine On
SSLProxyCheckPeerCN Off
SSLCertificateFile /etc/ssl/certs/company.crt
SSLCertificateKeyFile /etc/ssl/private/company.key
RewriteEngine on
ServerName https://wiki.company.com
RewriteCond %HTTP_HOST wiki.company.com$ [NC]
RewriteCond %REQUEST_URI !^/xwiki/(.*)$
RewriteRule ^(.*)$ /xwiki/ [R=301,L]
ProxyPass / https://wiki.company.com:8443/
ProxyPassReverse / https://wiki.company.com:8443/
</VirtualHost>
【讨论】:
以上是关于在 apache 虚拟主机中重定向和隐藏端口(文件夹) - xwiki的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Apache 2.4 中重定向 /path/variables/ 以重写为 /index.php/path/variables/?