我已经设置archiva
并httpd
开启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 服务器 URL:https://my.example.com/test/
档案服务器 URL:http://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