如何在同一台服务器上混合基于ip和名称的虚拟主机?

时间:2013-09-03 20:08:19

标签: linux apache ssl virtualhost centos6

我目前在我的服务器上有一个生产站点,我正在寻找添加开发站点。生产站点使用我唯一的IP地址来获得单个域SSL证书。有没有办法我可以添加开发网站而无需购买另一个IP。我不一定需要SSL用于开发站点。也许混合了基于ip和名称的虚拟主机?目前的设置如下:

# Production
NameVirtualHost 123.45.678.910:80

<VirtualHost 123.45.678.910:80>
  DocumentRoot /var/www/html/production
  ServerName www.example.com
</VirtualHost>

NameVirtualHost 123.45.678.910:443

<VirtualHost 123.45.678.910:443>
  DocumentRoot /var/www/html/production
  ServerName www.example.com
</VirtualHost>

由于 保罗

修改

这样的事情会起作用吗?

# Production
NameVirtualHost 123.45.678.910:80

<VirtualHost 123.45.678.910:80>
  DocumentRoot /var/www/html/production
  ServerName www.example.com
</VirtualHost>

NameVirtualHost 123.45.678.910:443

<VirtualHost 123.45.678.910:443>
  DocumentRoot /var/www/html/production
  ServerName www.example.com
</VirtualHost>

# Development

<VirtualHost 123.45.678.910:80>
  DocumentRoot /var/www/html/development
  ServerName dev.example.com
</VirtualHost>

或者我需要使用不同的端口,可能是8080?

2 个答案:

答案 0 :(得分:0)

这在Apache文档中有所涉及,但“基本上”你不能通过SSL做基于名称的虚拟主机;证书交换必须在主机头发送之前发生,到那时为时已晚。但是,您可以在备用端口上执行虚拟SSL站点。

否则,您当然可以在非SSL端口上执行基于名称的虚拟主机。首先在结果配置文件中定义当前生产站点以避免出现问题。这就像仅在端口80上使用基于名称的虚拟主机,在443上再使用一个虚拟主机。

答案 1 :(得分:0)

你可以: