转载

通过Apache反向代理访问本地Gogs服务

在VPS上安装了Gogs作为版本控制软件,但是Gogs使用了内置的Http服务器在3000端口上监听,但是我又不希望在输入域名之后跟上端口号,能想到的方案就只有通过配置Apache作为反向代理访问Gogs来实现。

所谓反向代理,就是使用一台WEB服务器作为另一台WEB服务器的代理,用户访问外部的WEB服务器,而实际上的请求处理由内部服务器完成。通过反向代理,可以起到隐藏内部服务器以及负载均衡等作用。

配置

以下以该场景为例,展示如何配置Apache作为反向代理,目的是通过访问git.c4fun.cn访问127.0.0.1:3000。其它的场景可以此为例稍加修改即可。

环境为Ubuntu 14.04, Apache 2.4.7。

step 1: 配置DNS(可略过)

在DNS服务器上配置git.c4fun.cn解析到我VPS的IP。

step 2: 启用Apache代理模块

a2enmod proxy
a2enmod proxy_http

step 3: 启动Gogs

启动后可以看到Gogs默认在本机的3000端口上监听。

step 4: 修改Apache配置文件

vi /etc/apache2/sites-available/000-default.conf

在文件后添加以下内容

<VirtualHost *:80>
ServerAdmin webmaster@localhost

ServerAlias git.c4fun.cn
ProxyPreserveHost On
ProxyRequests Off

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

ProxyPass / http://127.0.0.1:3000/
ProxyPassReverse / http://127.0.0.1:3000/

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
原文  http://vimersu.win/blog/2015/06/13/apache-reverse-proxy/
正文到此结束
Loading...