Apache服务器VirtualHost常用配置小结

 更新时间:2024年07月21日 10:49:47   作者:极客开发者  
Apache服务器中的VirtualHost用来定义虚拟主机,本文主要介绍了Apache服务器VirtualHost常用配置小结,具有一定的参考价值,感兴趣的可以了解一下

Apache服务器中的VirtualHost用来定义虚拟主机,我们可以在一个VirtualHost中定义一个项目(网站),也可以使用反向代理的方式定义多个项目(即一个域名之下多个子项目)。以下总结Apache服务器VirtualHost常用配置。

1.常规配置

<VirtualHost *:80>
        DocumentRoot "/var/www/html"
        ServerName www.jkdev.cn
</VirtualHost>
  • DocumentRoot:网站目录
  • ServerName:网站域名

2.常用附加配置

<VirtualHost *:80>
       DocumentRoot "/var/www/html"
       ServerName localhost
       <Directory "/var/www/html">
           Options Indexes FollowSymLinks
           AllowOverride All
           Require all granted
           ErrorDocument 404 https://www.jkdev.cn/404.html
       </Directory>
</VirtualHost>
  • Directory节点:定义目录属性
  • Options Indexes FollowSymLinks:开启目录访问,显示目录结构,并允许在此目录中使用符号连接
  • AllowOverride All:允许定义.htaccess文件
  • AllowOverride None:忽略.htaccess文件
  • Require all granted:允许所有请求
  • ErrorDocument 404 https://www.jkdev.cn/404.html:路径匹配时跳转的404界面

3.开启HTTPS

<VirtualHost _default_:443>
	DocumentRoot "/var/www/html"
	ServerName hook.jkdev.cn
	SSLEngine on
	SSLCertificateFile /etc/ssl/2_hook.jkdev.cn.crt
  SSLCertificateKeyFile /etc/ssl/3_hook.jkdev.cn.key
  SSLCertificateChainFile /etc/ssl/1_root_bundle.crt
	<Directory "/var/www/html">
		Options Indexes FollowSymLinks
		AllowOverride All
		Require all granted
		ErrorDocument 404 https://www.jkdev.cn/404.html
	</Directory>
</VirtualHost>
  • SSLEngine on:开启SSL
  • SSLCertificateFile:指定证书公钥文件
  • SSLCertificateKeyFile:指定证书私钥文件
  • SSLCertificateChainFile:指定证书链文件

4.反向代理(端口转发)

<VirtualHost _default_:443>
	ServerName api.jkdev.cn
	SSLEngine on
	SSLCertificateFile /etc/ssl/api/2_api.jkdev.cn.crt
  SSLCertificateKeyFile /etc/ssl/3_api.jkdev.cn.key
  SSLCertificateChainFile /etc/ssl/1_root_bundle.crt
	
	ProxyPreserveHost On
  ProxyRequests Off	

	ProxyPass /v2 http://localhost:92/
	ProxyPass /v1 http://localhost:91/
	ProxyPass / http://localhost:90/
		
	ProxyPassReverse /v2 http://localhost:92/
	ProxyPassReverse /v1 http://localhost:91/
	ProxyPassReverse / http://localhost:90/
	
</VirtualHost>
  • ProxyPreserveHost On:开启反向代理
  • ProxyRequests Off:关闭正向代理
  • ProxyPass:设置反向代理路径
  • ProxyPassReverse:使Apache自动处理反向代理中的从定向响应,一般和ProxyPass一起用

5.http从定向到https

<VirtualHost *:80>
    ServerName jkdev.cn
    #redirect
    RewriteEngine on
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^(.*)?$ https://%{SERVER_NAME}$1 [L,R]
</VirtualHost>
  • RewriteEngine on:开启从定向功能
  • RewriteCond %{SERVER_PORT} !^443 :从定向条件,端口不是 443 时重定向 , 为 开头, :从定向条件,端口不是443时重定向,^为开头, :从定向条件,端口不是443时重定向,为开头,为结束
  • RewriteRule:重定向规则,L:表明当前规则是最后一条规则,停止分析以后规则的重写;R:强制外部重定向

到此这篇关于Apache服务器VirtualHost常用配置小结的文章就介绍到这了,更多相关Apache VirtualHost配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • Linux中关于控制进程的命令总结

    Linux中关于控制进程的命令总结

    程序是一组可执行的静态指令集,而进程(process)是一个执行中的程序实例,下面这篇文章主要给大家介绍了Linux中关于控制进程的一些命令,包括Linux如何查看进程、启动进程等常用命令,下面来一起看看吧
    2017-03-03
  • Linux命令unzip详解

    Linux命令unzip详解

    这篇文章介绍了Linux命令unzip,Linux unzip命令用于解压缩zip文件,文中详细列出了unzip命令选项和选项描述。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • 关于Linux安装mysql默认配置文件位置详解

    关于Linux安装mysql默认配置文件位置详解

    本篇文章主要介绍了关于Linux安装mysql默认配置文件位置详解,具有一定的参考价值,有兴趣的可以了解一下。
    2017-06-06
  • 对linux下syslogd以及syslog.conf文件的解读说明

    对linux下syslogd以及syslog.conf文件的解读说明

    今天小编就为大家分享一篇对linux下syslogd以及syslog.conf文件的解读说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Linux 搭建Git服务器的方法

    Linux 搭建Git服务器的方法

    本篇文章主要介绍了Linux 搭建Git服务器的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • Linux包管理工具yum、apt的区别

    Linux包管理工具yum、apt的区别

    Linux系统基本分两大类:RedHat系列:Redhat、Centos、Fedora等;Debian系列:Debian、Ubuntu 等。yum是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。apt是一个在 Debian 和Ubuntu中的Shell前端软件包管理器。
    2023-04-04
  • opensips源代码安装与配置的技巧方法

    opensips源代码安装与配置的技巧方法

    本篇文章小编为大家介绍,opensips源代码安装与配置的技巧方法。需要的朋友参考下
    2013-04-04
  • 详解Centos7源码编译安装 php7.2之生产篇

    详解Centos7源码编译安装 php7.2之生产篇

    这篇文章主要介绍了详解Centos7源码编译安装 php7.2之生产篇,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • Ubuntu 12.04 64位 对Python 源代码编译详解

    Ubuntu 12.04 64位 对Python 源代码编译详解

    这篇文章主要介绍了Ubuntu 12.04 64位 对Python 源代码编译的相关资料,需要的朋友可以参考下
    2017-01-01
  • CentOS7输入密码登陆之后黑屏问题及解决

    CentOS7输入密码登陆之后黑屏问题及解决

    文章描述了解决在CentOS7上修改`/etc/profile`文件导致系统黑屏问题的方法,包括使用单用户模式进入系统,恢复`/etc/profile`文件内容,最后重启进入图形界面模式
    2026-04-04

最新评论