Nginx

apache2.4反向代理到nginx gitlab伺服器

  • June 20, 2021

我目前正在我的樹莓派 4 8GB 上執行基於 apache 2.4 網路伺服器的 owncloud 伺服器(在dietpi 7.3 上工作),效果很好我有一個公共域設置並使用letsencrypt 創建證書。我現在還想在這個 pi 上設置一個 gitlab 伺服器,該 gitlab 伺服器正在工作並且可以通過它的 IP 地址和埠(192.168.1.234:1234)在我的本地網路內訪問。我已經設置好並執行external_url了。/etc/gitlab/gitlab.rb``127.0.0.1:1234``gitlab-ctl reconfigure

我現在想從 apache 伺服器配置一個反向代理以指向 gitlab NGINX(編輯澄清:反向代理應該從相對 url(在我的情況下為 mydomain.com/gitlab))伺服器工作,所以我添加了文件並將以下內容添加到文件中gitlab.conf/etc/apache2/sites-available/

<VirtualHost *:80>
       ServerName mydomain.com
       ProxyRequests off
       <Location /gitlab>
               ProxyPass http://localhost:1234
               ProxyPassReverse http://localhost:1234
       </Location>
</VirtualHost>

<VirtualHost *:443>
       ServerName mydomain.com

       # Certificate
       SSLEngine on
       SSLCertificateFile /etc/letsencrypt/live/mydomain.com/cert.pem
       SSLCertificateKeyFile /etc/letsencrypt/live/mydomain.com/privkey.pem
       SSLCertificateChainFile /etc/letsencrypt/live/mydomain.com/fullchain.pem

       <Location /gitlab>
               ProxyPass  http://localhost:1234
               ProxyPassReverse http://localhost:1234
       </Location>
</VirtualHost>

問題是這不起作用..去 mydomain.com/gitlab 只會給我留下404 Not Found

(當然,systemctl restart apache2當我更改配置中的某些內容時,我也總是重新啟動 apache2,並且我還將站點添加到 apache 伺服器,a2ensite gitlab.conf並且我還啟用了模組proxyproxy_http並且a2enmod

我現在也很可能會面臨更多問題,例如在 gitlab 中不顯示正確的 URL 等等,但我對如何解決這些問題有一個大致的了解,並希望先解決這個問題,一旦我遇到就開始處理它們他們。

網際網路上的其他資源並沒有太大幫助,因為我在嘗試時發現沒有任何幫助,因此非常感謝任何幫助或洞察力。

/傑克船長

由於您正在代理localhost,因此 nginx 無法在任何地方找到Host標頭,並且您的 gitlab 安裝似乎是非預設虛擬主機。嘗試添加

ProxyPreserveHost On

進入你的 apache 配置。到兩個虛擬主機部分。

引用自:https://serverfault.com/questions/1067245