0

我在服务器上运行 java web 应用程序,并希望使用 Apache 作为反向代理来访问它。该网络应用程序是互联网档案网络爬虫heritrix。它在 localhost 上运行,并在端口 8443 上打开一个 Web 界面。

网络服务器可在 上访问https://heritrix.mywebcrawler.com在https://heritrix.mywebcrawler.com/engine上的访问工作正常,也在工作页面 ( https://heritrix.mywebcrawler.com/engine/job/test ) 上。

在作业页面上是Configuration-referenced Paths,通过一种我不完全理解的机制,它们提供对日志、配置、报告和创建的文件的访问,直接访问本地文件系统上的路径。问题是:这个 URL 包含一个双斜杠//,所以它们不能通过反向代理工作。我得到例如 URL https://heritrix.mywebcrawler.com/engine/anypath//home/user/heritrix/heritrix-3.4.0-20210923/jobs/test/warcs。所有这些 URL 都以 开头https://heritrix.mywebcrawler.com/engine/anypath/,后跟本地文件系统的绝对路径/home/user/heritrix/heritrix-3.4.0-20210923/jobs/test/seedsbs.txt?format=textedit

有没有办法删除虚拟主机配置中的第二个斜杠,以便这些链接工作?

我有以下虚拟主机配置:

<IfModule mod_ssl.c>
<VirtualHost *:443>
        ServerAdmin support@mywebcrawler.com
        ServerName heritrix.mywebcrawler.com

        LogLevel debug ssl:warn
        ErrorLog ${APACHE_LOG_DIR}/error.heritrix.log
        CustomLog ${APACHE_LOG_DIR}/access.heritrix.log combined

        SSLEngine on
        SSLCertificateFile /etc/letsencrypt/live/heritrix.mywebcrawler.com/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/heritrix.mywebcrawler.com/privkey.pem
        Include /etc/letsencrypt/options-ssl-apache.conf

        SSLProxyEngine on
        SSLProxyCheckPeerCN off
        SSLProxyVerify none
        ProxyHTMLEnable On
        ProxyPass / https://localhost:8443/
        ProxyPassReverse / https://localhost:8443/
        ProxyHTMLURLMap https://localhost:8443/ /

</VirtualHost>
</IfModule>
4

0 回答 0