编辑

编辑

不要担心 Ip 和用户,这些只是为了测试,完成后该服务器将被销毁。

我在 Debian 9 上安装了 apache 2.4.25n,这是一个远程服务器,我试图从互联网访问它

因此我安装了 gerrit,让它运行,并将它放入他的配置文件中(~/gerrit_server/etc/gerrit.config):

[gerrit]
        basePath = git
        canonicalWebUrl = http://95.179.219.75:8087/
        serverId = bd679dac-5adf-47c8-b665-84a3ab90ecaa
[container]
        javaOptions = "-Dflogger.backend_factory=com.google.common.flogger.backend.log4j.Log4jBackendFactory#getInstance"
        javaOptions = "-Dflogger.logging_context=com.google.gerrit.server.logging.LoggingContext#getInstance"
        user = root
        javaHome = /usr/lib/jvm/java-8-openjdk-amd64/jre
[index]
        type = lucene
[auth]
        type = HTTP
[receive]
        enableSignedPush = false
[sendemail]
        smtpServer = localhost
[sshd]
        listenAddress = *:29418
[httpd]
        listenUrl = http://*:8087/gerrit/
[cache]
        directory = cache
[database]
        type = h2
        database = /home/magicmike/gerrit_server/db/ReviewDB
    

使用http://95.179.219.75:8087/gerrit作品

然后我添加了这个文件:/etc/apache2/sites-available/gerrit 并在里面写了这些

<VirtualHost *>
  ServerName 95.179.219.75

  ProxyRequests Off
  ProxyVia Off
  ProxyPreserveHost On

  <Proxy *>
    Require all granted
    # Use following line instead of the previous two on Apache >= 2.4
    # Require all granted
  </Proxy>

  AllowEncodedSlashes On
  ProxyPass /gerrit/ http://127.0.0.1:8087/gerrit/ nocanon
</VirtualHost>

然后我添加了一个 simlink 到 sites-enabled sudo ln -s /etc/apache2/sites-available/gerrit.conf /etc/apache2/sites-enabled/gerrit.conf

并重新启动 apache:sudo systemctl restart apache2

http://95.179.219.75/gerrit显示:404 错误

我也尝试listenUrl = proxy-http://*:8087/gerrit/在 gerrit 的配置中使用它,但它没有任何变化(当然,在更改之后我重新启动了 gerrit 和 apache)

我是否遗漏了什么?谢谢。

编辑

来自 Apache 日志:

[2020 年 2 月 20 日星期四 17:21:39.314275] [core:info] [pid 30994:tid 139939108706048] [客户端 163.62.112.77:16341] AH00128:文件不存在:/var/www/html/gerrit

它为什么需要 /var/www/html/gerrit 中的某些内容?

答案1

http://95.179.219.75/gerrit/必须使用不http://95.179.219.75/gerrit(末尾缺少‘/’)

相关内容