当前位置: 代码网 > it编程>编程语言>其他编程 > Apache服务器VirtualHost常用配置小结

Apache服务器VirtualHost常用配置小结

2024年07月21日 其他编程 我要评论
apache服务器中的virtualhost用来定义虚拟主机,我们可以在一个virtualhost中定义一个项目(网站),也可以使用反向代理的方式定义多个项目(即一个域名之下多个子项目)。以下总结ap

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配置内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网! 

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com