在反向代理后面配置 Archiva 时,Web UI 正在加载

在反向代理后面配置 Archiva 时,Web UI 正在加载

我已经设置archivahttpd开启Ubuntu 22.04以进行测试。

Apache Archiva version: 2.2.9
Apache HTTP Server: 2.4.52

VirtualHost 配置:

<VirtualHost _default_:443>
    ProxyPass "/test/" "http://192.168.1.1:8080/"
    ProxyPassReverse "/test/" "http://192.168.1.1:8080/"
</VirtualHost>

HTTP 服务器 URLhttps://my.example.com/test/
档案服务器 URLhttp://192.168.1.1:8080/

使用 Firefox 打开http://192.168.1.1:8080/直接,整个 Archiva UI 就可以正常显示。

使用 Firefox 打开https://my.example.com/test/,Firefox 可以显示title为“ Apache Archiva”,但 Web 内容不显示,只显示“ Loading”...

在此处输入图片描述

VirtualHost为了使Archiva能够工作,缺少了什么Reverse Proxy

更新:这是 Firefox 的视图源代码:

查看源代码:https://my.example.com/test/

<html>
  <head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <link rel="stylesheet" href="css/jquery.fileupload-ui.css"/>
    <link rel="stylesheet" href="css/jqueryFileTree.css"/>
    <link rel="stylesheet" href="css/jquery-ui-1.9.2.custom.min.css"/>
    <link rel="stylesheet" href="css/select2-3.2.css"/>
    <link rel="stylesheet" href="css/typeahead.js-bootstrap.0.9.3.css"/>
    <link rel="stylesheet" href="css/bootstrap.2.2.2.css">
    <link rel="stylesheet" href="css/archiva.css">
    <link rel="shortcut icon" href="favicon.ico"/>
    <link rel="stylesheet" href="css/prettify.css"/>

    <script type="text/javascript" src="js/jquery-1.11.1.min.js"></script>
    <script type="text/javascript" src="js/jquery-ui-1.10.4.min.js"></script>
    <script type="text/javascript" src="js/sammy.0.7.4.js"></script>
    <script type="text/javascript" data-main="js/archiva/archiva.js" src="js/require.min.2.1.11.js"></script>

    <title>Apache Archiva</title>

  </head>
...

查看源代码:https://my.example.com/test/js/archiva/archiva.js

requirejs(['jquery','jquery.tmpl','jquery.ui','i18n','sammy','startup','utils','domReady!','archiva.main','archiva.cookie-information'], function () {
        loadi18n(function () {
          $.ajax({
            url: "restServices/archivaUiServices/runtimeInfoService/archivaRuntimeInfo/"+usedLang(),
            dataType: 'json',
            success:function(data){
              window.archivaDevMode=data.devMode;
              window.archivaJavascriptLog=data.javascriptLog;
              window.archivaRuntimeInfo=data;

              window.cookieInformation=mapCookieInformation(data.cookieInformation);

              require(['sammy','jquery','jquery.ui','i18n','jquery.tmpl','archiva.main','utils','domReady!'],function () {
                  startArchivaApplication();
                  $("#loadingDiv").hide();
                  drawQuickSearchAutocomplete();
              })
            }
          })
        });
      });  


  

从 中view source,Firefox 可以从 中获取正确的 html 内容Archiva 8080 server,但是却无法激活 js 函数“ loadi18n”,“ $("#loadingDiv").hide();”根本没有执行。

js/archiva/archiva.js中的“ ”Archiva无法按预期在 中reverse proxy mode工作unknown reason

答案1

Listen 8080

<VirtualHost *:8080>
        ServerName my.example.com/test/

        SSLEngine On
        SSLCertificateFile    /path/to/apache_certs/cert.pem
        SSLCertificateKeyFile /path/to/apache_certs/cert.key

        ProxyRequests     Off
        ProxyPass         /  http://localhost:8080/
        ProxyPassReverse  /  http://localhost:8080/
        <Proxy http://localhost:8080/*>
                Order allow,deny
                Allow from all
        </Proxy>
        ProxyPreserveHost on
</VirtualHost>

运行此命令来配置two apache mods

sudo a2enmod proxy proxy_http

来源

相关内容