4

我设法使用此 Etherpad 安装说明启动并运行 Etherpad 。

它在http://localhost:9000/我的服务器上运行,并通过反向代理和 SSL 在 Apache 上交付到https://www.example.com/.

这一切都运行良好,但由于 Etherpad 不是我唯一的应用程序,我希望它通过https://www.example.com/etherpad/. 我该如何管理?

我试图将ProxyPass命令更改为

ProxyPass /etherpad/ http://localhost:9000/
ProxyPassReverse /etherpad/ http://localhost:9000/

这使它在/etherpad/目录中可用,但其中的所有资源仍然从/(根目录)交付。在/etc/etherpad/etherpad.local.properties配置文件中,我没有找到任何相关设置。

我如何告诉 Etherpad 存在于子目录中?我不能使用另一个子域,因为那里没有 SSL。

4

2 回答 2

5

我通过切换到Etherpad-Lite解决了这个问题。功能不完全相同,但对我来说足够了。

Etherpad-Lite 使用相对目录../scripts/script.js而不是绝对目录 (Etherpad: /scripts/script.js)。

于 2013-06-12T10:33:47.553 回答
2

请参阅 Etherpad 反向代理文档

    <VirtualHost *:80>
        ServerAdmin support@example.org
        ServerName etherpad.example.org
        ServerSignature Off
        CustomLog /var/log/apache2/etherpad_access.log combined
        ErrorLog /var/log/apache2/etherpad_error.log
        ErrorLog syslog:local2

        <IfModule mod_proxy.c>
            # the following allows "nice" urls such as https://etherpad.example.org/padname
            # But, some users reported issues with this
        RewriteEngine On
        RewriteRule /p/*$ https://etherpad.example.org/ [NC,L]
        RewriteCond %{REQUEST_URI} !^/locales/
        RewriteCond %{REQUEST_URI} !^/locales.json
        RewriteCond %{REQUEST_URI} !^/admin
        RewriteCond %{REQUEST_URI} !^/p/
        RewriteCond %{REQUEST_URI} !^/static/
        RewriteCond %{REQUEST_URI} !^/pluginfw/
        RewriteCond %{REQUEST_URI} !^/javascripts/
        RewriteCond %{REQUEST_URI} !^/socket.io/
        RewriteCond %{REQUEST_URI} !^/ep/
        RewriteCond %{REQUEST_URI} !^/minified/
        RewriteCond %{REQUEST_URI} !^/api/
        RewriteCond %{REQUEST_URI} !^/ro/
        RewriteCond %{REQUEST_URI} !^/error/
        RewriteCond %{REQUEST_URI} !^/jserror
            RewriteCond %{REQUEST_URI} !/favicon.ico
        RewriteCond %{REQUEST_URI} !/robots.txt
        RewriteRule ^/+(.+)$ https://etherpad.example.org/p/$1 [L]

            ProxyVia On
            ProxyRequests Off
            ProxyPass / http://etherpad.internal.example.org:9001/
            ProxyPassReverse / http://etherpad.internal.example.org:9001/
            ProxyPreserveHost on
            <Proxy *>
                Options FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
            </Proxy>
        </IfModule>
    </VirtualHost>
于 2013-05-26T17:21:19.787 回答