ubuntuusers.de

Gitea Reverse Proxy mit Apache

Status: Gelöst | Ubuntu-Version: Server 20.04 (Focal Fossa)
Antworten |

regenpfeifer

Avatar von regenpfeifer

Anmeldungsdatum:
18. April 2006

Beiträge: 993

Wohnort: Straubing, Bayern

Hallo,

ich habe auf meinem Server mit Ubuntu 20.04 LTS Gitea installiert.

Dabei bin ich weitgehend nach dieser offiziellen Anleitung vorgegangen, habe aber auch diverse andere Quellen und Anleitungen konsultiert: https://docs.gitea.io/en-us/install-from-binary/. Grundsätzlich konnte ich Gitea erfolgreich in /usr/local/bin installieren und einen Service mit systemd einrichten, um Gitea zu starten. Wenn ich nun <meine-ip-adresse>:3000 im Browser aufrufe, wird mir die Konfigurationsseite angezeigt, auf der ich Gitea weiter einrichten kann. Ich habe hier bislang aber noch nichts eingerichtet, weil ich erst noch das im Titel meines Posts schon beschriebene Problem lösen möchte: Ich versuche, einen Apache VHost als Reverse Proxy für Gitea einzurichten, komme aber mit den mir bisher zugänglichen Anleitungen nicht zu Potte.

Ich habe diese VHost-Datei erstellt:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<VirtualHost *:80>
    ServerName git.meinedomain.net
    ServerAdmin webmaster@meinedomain.net

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    RewriteEngine on
    RewriteCond %{SERVER_NAME} =git.meinedomain.net
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

<IfModule mod_ssl.c>
<VirtualHost *:443>
    ServerName git.meinedomain.net
    ServerAdmin webmaster@meinedomain.net

    ProxyPassReverseCookieDomain localhost git.meinedomain.net
    SSLCertificateFile /var/lib/gitea/keys/fullchain.pem
    SSLCertificateKeyFile /var/lib/gitea/keys/privkey.pem

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    <Proxy *>
	 Order allow,deny
	Allow from all
    </Proxy>

    ProxyPreserveHost On
    ProxyRequests off
    AllowEncodedSlashes NoDecode
    ProxyPass / http://localhost:3000/ nocanon
    ProxyPassReverse / http://localhost:3000/
</VirtualHost>
</IfModule>

Wenn ich nun <git.meinedomain.net> aufrufe, erhalte ich die nachfolgende Fehlermeldung. Die Einrichtung und Einbindung der Letsencrypt-Zertifikate scheint zumindest geklappt zu haben, weil mir im Firefox angezeigt wird, dass die aufgerufene Seite korrekte Zertifikate hat. Ansonsten kommt aber leider nur dies:

1
2
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Ich habe mit anderen ähnlichen Einstellungen der VHost-Datei experimentiert, die z.B. hier genannt werden: https://mindefrag.net/2018/07/how-to-install-and-configure-gitea-a-self-hosted-github-like-service/, auch diese aber haben mich zur gleichen Fehlermeldung geführt. Möglicherweise müsste ich auch veränderte Einstellungen in der Datei app.ini vornehmen, die sich in /etc/gitea befindet, jedoch habe ich auch hierfür keine passende Anleitung gefunden. Die meisten Anleitungen für Reverse Proxies sind für Nginx und diejenigen für Apache sind möglicherweise nicht mehr aktuell oder ich übersehe irgendwas.

Kann jemand mit einer guten Anleitung weiterhelfen, in der beschrieben ist, wie man einen Apache Reverse Proxy für Gitea einrichtet?

Besten Dank und viele Grüße!

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5582

regenpfeifer schrieb:

1
2
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Was was steht dazu in den Webserverlogs?

regenpfeifer

(Themenstarter)
Avatar von regenpfeifer

Anmeldungsdatum:
18. April 2006

Beiträge: 993

Wohnort: Straubing, Bayern

Der error.log entnehme ich diese Meldung (nachdem ich sie auf null gesetzt und danach gleich die fragliche Website aufgerufen habe):

[Sat Feb 06 20:00:30.098642 2021] [proxy:warn] [pid 4127:tid 140165102814976] [client 2001:16b8:2083:800:9033:c591:4eeb:91e8:60498] AH01144: No protocol handler was valid for the URL / (scheme 'http'). If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule.

Die Module proxy und proxy_fcgi sind aktiviert.

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5582

Auch das Modul mod_proxy_http?

regenpfeifer

(Themenstarter)
Avatar von regenpfeifer

Anmeldungsdatum:
18. April 2006

Beiträge: 993

Wohnort: Straubing, Bayern

Vielen Dank, sebix, genau das war es! Ich bin eben zeitgleich mit deinem Hinweis beim Rumprobieren mit den Modulen auch selber draufgekommen. Bislang hatte ich nicht so viel Erfahrung mit Proxy-Konfiguration, da ich das bei meinen anderen Websites nicht gebraucht habe. Daher hatte ich die erforderlichen Module nicht so auf dem Schirm. Wieder was dazugelernt!

Antworten |