使用apache反向代理cpanel,实现后端服务器隐藏

一、应用场景

a) 后端服务器

cpanel 虚拟主机。

网站的ip访问路径如:http://192.168.88.27/~mydomain/

b) 前端服务器

可以进行apachevhost配置与反向代理配置的服务器,如:vps

本文使用ubuntu server 14/16作为前端服务器。要绑定的域名如:mydomain.com

二、安装apache

a) 登陆服务器并更新系统库

sudo apt-get update
sudo apt-get dist-upgrade

以上两个命令需要等待一段时间执行完成。

b) 安装并启动apache

sudo apt-get install apache2 #安装apache服务
sudo service apache2 restart

c) 安装所需的apache模块

cd /etc/apaches/mods-available/
a2enmod vhost_alias #安装vhost模块
a2enmod proxy* #安装所有的代理模块
a2enmod rewrite #安装重写模块,用于301重定向
sudo service apache2 restart

三、配置apache vhost与反向代理

a) 绑定域名的vhost配置

比如要绑定的域名为mydomain.com,后端cpanel网站的访问路径为http://192.168.88.27/~mydomain/

cd /etc/apache2/sites-enabled/
sudo vim mydomain.com.conf #需要熟悉vim的基本用法

进行如下配置,按【i】键进入编辑模式左下角会提示INSERT

<VirtualHost *:80>
   ServerAdmin webmaster@mydomain.com
   DocumentRoot "/var/www/"
   ServerName www.mydomain.com

#反向代理配置
ProxyPass  / http://192.168.88.27/~mydomain/
ProxyPassReverse  / http://192.168.88.27/~mydomain/

#cookie的代理
ProxyPassReverseCookieDomain 192.168.88.27 www.mydomain.com
ProxyPassReverseCookiePath  /~mydomain/ /

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

<VirtualHost *:80>
   ServerAdmin webmaster@mydomain.com
   DocumentRoot "/var/www/"
   ServerName mydomain.com

#301重定向
RewriteEngine On  
RewriteRule ^/(.*)$ http://www.mydomain.com/$1 [R=301,L] 

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

b) 重启apache

sudo service apache2 restart

c) 域名解析

把域名mydomain.comwww.mydomain.com解析到前端服务器的公网ip上。

© 2017, 李德涛博客. 版权所有.

发表评论

电子邮件地址不会被公开。 必填项已用*标注