当前位置:  开发笔记 > 编程语言 > 正文

我是否必须复制端口80和443的Virtualhost指令?

如何解决《我是否必须复制端口80和443的Virtualhost指令?》经验,为你挑选了3个好方法。

我有一个冗长而复杂的指令列表,我必须将它们复制到端口80和443的单独组中,因为我使用的是SSL.每当我更新我的mod_rewrite规则时,我必须记住在两个地方都这样做,否则我会破坏我的应用程序...这个重复是在寻找麻烦.有没有办法将这些组合或别名 - 两者之间的唯一区别是端口443版本包含SSLEngine,SSLCertificateFile等.

我的包含许多mod_rewrite规则,LocationMatch规则,CGI指令等.

另外,我不能使用.htaccess文件.



1> sfossen..:

你不能使用include指令来包含通用规则.这里

文章

例如.:


    ...
    include conf/common_rule.conf



    ...
    include conf/common_rule.conf
 


    ... #SSL rules
    include conf/common_rule.conf
  



2> Sampath Pere..:

您可以在单个Virtualhost指令中使用任何#个主机和端口.

 ...  

在我的情况下,我用过.


  ServerName loop.lk

 ....
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/local.crt



即使通过http访问该站点,似乎也会应用SSLEngine on,从而导致出现错误页面.
@iconoclast不,你不能拥有另一个指令.您可以使用 .... .... ...
如果你有一个``块,我假设你可以为``设一个单独的块,它只包含SSL内容.那是对的吗?

3> RemyNL..:

很抱歉打破这样的老帖子,但是为了帮助其他Google员工,我想分享我处理它的方式:

我有一对夫妇在我的本地虚拟主机的,说:localhost,foo.com,bar.com

这是我的笔记本电脑上的本地主机站点(macosx)我可以使用自签名证书,因此所有虚拟机的ssl-part都是相同的...

我做的是这样的:

我创建了目录/etc/apache2/extra/vhosts/.

我创建了一个/etc/apache2/extra/vhosts/localhost.conf:

ServerName localhost
DocumentRoot "/www/localhost"

  Require all granted

ErrorLog "/var/log/apache2/localhost.error_log"
CustomLog "/var/log/apache2/localhost.access_log" common

/etc/apache2/extra/vhosts/foo.conf:

ServerName foo.com
DocumentRoot "/www/foo.com"

  Require all granted

ErrorLog "/var/log/apache2/foo.com.error_log"
CustomLog "/var/log/apache2/foo.com.access_log" common

/etc/apache2/extra/vhosts/bar.conf:

ServerName bar.com
DocumentRoot "/www/bar.com"

  Require all granted

ErrorLog "/var/log/apache2/bar.com.error_log"
CustomLog "/var/log/apache2/bar.com.access_log" common

最后一个/etc/apache2/extra/vhosts/ssl.conf:

SSLEngine on
SSLCertificateFile "/etc/apache2/ssl/server.crt"
SSLCertificateKeyFile "/etc/apache2/ssl/server.key"

在我的/etc/apache2/extra/httpd-vhosts.conf:


  Include /etc/apache2/extra/vhosts/localhost.conf


  Include /etc/apache2/extra/vhosts/localhost.conf
  Include /etc/apache2/extra/vhosts/ssl.conf



  Include /etc/apache2/extra/vhosts/foo.conf


  Include /etc/apache2/extra/vhosts/foo.conf
  Include /etc/apache2/extra/vhosts/ssl.conf



  Include /etc/apache2/extra/vhosts/bar.conf


  Include /etc/apache2/extra/vhosts/bar.conf
  Include /etc/apache2/extra/vhosts/ssl.conf

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有