Apache 无法使用我自己的url访问gitlab
我试图在自己的网络上安装gitlab,并使用apache虚拟主机通过我的url ie git.myname.com访问它。我安装了gitlab omnibus,然后用- 外部url“” web_服务器['external_users']=['www-data'] ngingx['enable']=false 然后编辑Apache 无法使用我自己的url访问gitlab,apache,gitlab,virtualhost,Apache,Gitlab,Virtualhost,我试图在自己的网络上安装gitlab,并使用apache虚拟主机通过我的url ie git.myname.com访问它。我安装了gitlab omnibus,然后用- 外部url“” web_服务器['external_users']=['www-data'] ngingx['enable']=false 然后编辑/etc/apache2/sites available/000 default.conflike- #LogLevel alert rewrite:trace6 #RewriteC
/etc/apache2/sites available/000 default.conf
like-
#LogLevel alert rewrite:trace6
#RewriteCond %{REQUEST_URI} ^/[\w\.-]+/[\w\.-]+/repository/archive [OR]
#RewriteCond %{REQUEST_URI} ^/api/v3/projects/.*/repository/archive [OR]
#RewriteCond %{REQUEST_URI} ^/[\w\.-]+/[\w\.-]+/(info/refs|git-upload-pack|git-receive-pack)$
#RewriteRule .* http://localhost:8081%{REQUEST_URI} [P,QSA]
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:80>
ServerName git.myname.com
ServerSignature Off
ProxyPreserveHost On
<Location />
Require all granted
ProxyPassReverse http://127.0.0.1:8080
ProxyPassReverse http://git.myname.com/
</Location>
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule .* http://127.0.0.1:8080%{REQUEST_URI} [P,QSA]
# needed for downloading attachments
DocumentRoot /opt/gitlab/embedded/service/gitlab-rails/public
</VirtualHost>
日志级别警报重写:trace6
#重写cond%{REQUEST_URI}^/[\w\.-]+/[\w\.-]+/repository/archive[或]
#重写cond%{REQUEST_URI}^/api/v3/projects/*/repository/archive[或]
#重写COND%{REQUEST_URI}^/[\w\.-]+/[\w\.-]+/(info/refs | git upload pack | git receive pack)$
#重写规则。*http://localhost:8081%{REQUEST_URI}[P,QSA]
服务器管理员webmaster@localhost
DocumentRoot/var/www/html/
ErrorLog${APACHE_LOG_DIR}/error.LOG
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合
ServerName git.myname.com
服务器签名关闭
代理主机
要求所有授权
ProxyPassReversehttp://127.0.0.1:8080
ProxyPassReversehttp://git.myname.com/
重新启动发动机
重写cond%{DOCUMENT\u ROOT}/%{REQUEST\u FILENAME}-F
重写规则。*http://127.0.0.1:8080%{REQUEST_URI}[P,QSA]
#需要下载附件
DocumentRoot/opt/gitlab/embedded/service/gitlab-rails/public
gitlab可以通过localhost:8080
访问,但是git.myname.com
总是导致带有gitlab徽标的内部服务器错误sudo/etc/init.d/apache2 start
不起作用。我甚至用同样的脚本创建了gitlab.conf
,但仍然存在问题。我如何解决这个问题
/var/log/apache2/error.log
显示
AH01144:没有对URL/(方案“http”)有效的协议处理程序。
如果您使用的是DSO版本的mod_proxy,请确保该代理
子模块包含在使用LoadModule的配置中
好的,我解决了问题。如果您将来也要这样做,那么上面的内容就是您使用自己的url托管gitlab服务器所需要遵循的。通过运行以下命令可以解决此问题
sudo a2enmod proxy_html
sudo a2enmod proxy
sudo a2enmod rewrite
sudo a2enmod proxy_balancer
sudo a2enmod proxy_connect
sudo a2enmod proxy_html
sudo a2enmod proxy_headers
sudo a2enmod headers
sudo a2enmod proxy_ajp
sudo systemctl restart apache2