【问题标题】:redirect and hide port (folder) in apache virtualhost - xwiki在 apache 虚拟主机中重定向和隐藏端口(文件夹) - 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虚拟主机配置文件中。
  • 你能帮我解决重写条件吗?我尝试了很多组合都没有成功:(

标签: apache ubuntu mod-rewrite apache2 virtualhost


【解决方案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>

【讨论】:

    猜你喜欢
    • 2013-10-04
    • 2012-01-27
    • 1970-01-01
    • 2012-05-03
    • 2014-01-19
    • 1970-01-01
    • 1970-01-01
    • 2022-06-18
    • 2020-05-25
    相关资源
    最近更新 更多