Phi*_*Bot 10 apache proxy redirect apache2 proxypass
我正在尝试使用Apache2设置代理,以便传入http://myipaddress.com的请求转到http://localhost:3000/我运行Gitlab(rails应用程序)的地方.以下是我在Ubuntu 10.04上的Apache配置文件中的内容.我最初可以成功访问gitlab默认页面,但是之后通过点击其他页面执行的任何后续请求都会转到404 NOT FOUND页面.我可以在任何这些失败的重定向前面手动输入/ gitlab /它们工作得很好.在初始请求之后,如何在每次重定向请求之后不必重写/ gitlab /来完成这项工作?
## Setup a proxy which listens on the port that gitlabh does ( from start_server.sh )
ProxyRequests Off
ProxyPass /gitlab/ http://localhost:3000/
ProxyPassReverse /gitlab/ http://localhost:3000/
#DocumentRoot /home/gitlabhq/gitlabhq/public
<Proxy http://localhost:3000/>
Order deny,allow
Allow from all
</Proxy>
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用下面的代码,这将解决我的问题.但我不知道如何修改gitlab rails服务的前缀.我真的很感激一些帮助!
ProxyPass /gitlab/ http://localhost:3000/gitlab/
ProxyPassReverse /gitlab/ http://localhost:3000/gitlab/
Run Code Online (Sandbox Code Playgroud)
更新:
感谢Friek的评论,我已经非常接近解决这个问题了.下面是我的http.conf文件的一部分.唯一的问题是,当我点击主页按钮或gitlab应用程序上的徽标时,它会尝试重定向到gitlab /,这给了我Apache2的基本index.html文件,说'它有效!'.我怎么能配置这个让我简单地得到/ gitlab它带我到gitlab的根目录视图?谢谢!
## For Gitlab using Apache2 Passenger
## Install on Ubuntu by:
## sudo gem install passenger && sudo passenger-install-apache2-module
## but only after running the install_and_configure_git.py script
## and creating a soft link to the rails gitlab /public directory like so:
## sudo ln -s /home/gitlabhq/gitlabhq/public /var/www/gitlab
LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.13/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.13
PassengerRuby /usr/local/bin/ruby
<VirtualHost *:80>
ServerName gitlab
## Set the overall Document Root
DocumentRoot /var/www
<Directory /var/www>
Allow from all
</Directory>
## Set the Rails Base URI
RackBaseURI /gitlab
RailsBaseURI /gitlab
<Directory /var/www/gitlab>
Allow from all
Options -MultiViews
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
E-r*_*ich 11
我遇到了这个对我有用的要点.如果它已经死了,我会重新发布它.
编辑文件 /home/gitlab/gitlab/config/unicorn.rb
找行听"#{app_dir}/tmp/sockets/gitlab.socket"并评论它.取消注释线听"127.0.0.1:8080"
<VirtualHost *:80>
ServerName git.domain.com
# Point this to your public folder of teambox
DocumentRoot /home/gitlab/gitlab
RewriteEngine On
<Proxy balancer://unicornservers>
BalancerMember http://127.0.0.1:8080
</Proxy>
# Redirect all non-static requests to thin
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule ^/(.*)$ balancer://unicornservers%{REQUEST_URI} [P,QSA,L]
ProxyPass / balancer://unicornservers/
ProxyPassReverse / balancer://unicornservers/
ProxyPreserveHost on
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
# Custom log file locations
ErrorLog /var/log/apache2/gitlab_error.log
CustomLog /var/log/apache2/gitlab_access.log combined
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22367 次 |
| 最近记录: |