这篇文章主要介绍了ubuntu系统下apache配置虚拟主机及反向代理的相关资料,文中通过实例给大家演示的非常详细,对大家具有一定的参考学习价值,需要的朋友们下来一起学习学习吧。
前言
自己有两个域名blogsir.com.cn 和 s7star.cn ,都绑定在了我的腾讯云主机上,还有七星网络安全攻防平台的搭建,这里记录下我搭建虚拟主机和反向代理的过程,下面来一起看看详细的介绍:
配置虚拟主机
$ sudo vi /etc/apache2/sites-available/000-default.conf#DocumentRoot /var/www/html ##注释掉该行$ cat /etc/apache2/sites-available/000-default.conf|grep -v "#"ServerAdmin webmaster@localhost ServerName www.blogsir.com.cn DocumentRoot "/var/www/html/" ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined ServerName www.s7star.cn DocumentRoot "/var/www/xx" ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined
注1:这里的*指127.0.01
修改host文件,并添加如下
$ sudo vi /etc/hosts127.0.0.1 www.blogsir.com.cn127.0.0.1 www.s7star.cn
配置端口反向代理
如果端口不是80,则可以配置反向代理,比如我的ctf.s7star.cn, 开始是通过4000端口来访问的,但不太方便,配置了反向代理后方便很多
反向代理维基上的解释是这样的:它根据客户端的请求,从后端的服务器上获取资源,然后再将这些资源返回给客户端。与前向代理不同,前向代理作为一个媒介将互联网上获取的资源返回给相关联的客户端,而反向代理是在服务器端作为代理使用,而不是客户端。
博客的端口使用4000,使用反向代理后,用户返回80端口的网站,apache会将博客的内容显示给用户,就像用户直接访问4000端口一样。
以下是配置apache的步骤:
1.加载apache模块,使用a2enmod命令加载模块
a2enmod proxy proxy_balancer proxy_http
加载完成后需要使用命令/etc/init.d/apache2 restart
重启服务器
2.配置反向代理功能,进入sites_available,编辑000-default.conf文件,添加如下代码
ServerName ctf.s7star.cn DocumentRoot "/var/www/xx/" ErrorLog ${APACHE_LOG_DIR}/ctf_errors.log CustomLog ${APACHE_LOG_DIR}/ctf_accesses.log combined ProxyPass / http://127.0.0.1:4000/ ProxyPassReverse / http://127.0.0.1:4000/
最后重启apache,当你重新打开网页的时候就会跳转到4000端口的博客了