Apache SSL vhost赢得';不要使用DocumentRoot,而是使用服务器webroot

Apache SSL vhost赢得';不要使用DocumentRoot,而是使用服务器webroot,apache,vhosts,Apache,Vhosts,我有一个使用DV通配符证书的apache配置。ssl.conf被配置为对所有服务器流量使用该证书 我的vhost conf文件中定义了两个虚拟主机。生产虚拟主机和开发虚拟主机。conf文件内容如下: <VirtualHost *:443> ServerName www.example.com ServerAlias example.com ServerAdmin webmaster@example.com DocumentRoot /var/www/html/vhos

我有一个使用DV通配符证书的apache配置。ssl.conf被配置为对所有服务器流量使用该证书

我的vhost conf文件中定义了两个虚拟主机。生产虚拟主机和开发虚拟主机。conf文件内容如下:

<VirtualHost *:443>
  ServerName www.example.com
  ServerAlias example.com
  ServerAdmin webmaster@example.com
  DocumentRoot /var/www/html/vhosts/prod_example_com/

  <Directory "/var/www/html/vhosts/prod_example_com">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
  </Directory>

  ErrorLog "/var/log/httpd/www.example.com-error_log"
  CustomLog "/var/log/httpd/www.example.com-access_log" common

  #   Enable/Disable SSL for this virtual host.
  SSLEngine on
  SSLCertificateFile /etc/pki/tls/certs/comodo/STAR_example_com.crt
  SSLCertificateKeyFile /etc/pki/tls/certs/csr/www_example_com.key
  SSLCertificateChainFile /etc/pki/tls/certs/comodo/SectigoRSADomainValidationSecureServerCA.crt
</VirtualHost>

<VirtualHost *:443>
  ServerName dev.example.com
  ServerAdmin webmaster@example.com
  DocumentRoot "/var/www/html/vhosts/dev_example_com"

  <Directory "/var/www/html/vhosts/dev_example_com">
    AllowOverride All
    Require all granted
  </Directory>

  ErrorLog "/var/log/httpd/dev.example.com-error_log"
  CustomLog "/var/log/httpd/dev.example.com-access_log" common

  #   Enable/Disable SSL for this virtual host.
  SSLEngine on
  SSLCertificateFile /etc/pki/tls/certs/comodo/STAR_example_com.crt
  SSLCertificateKeyFile /etc/pki/tls/certs/csr/www_example_com.key
  SSLCertificateChainFile /etc/pki/tls/certs/comodo/SectigoRSADomainValidationSecureServerCA.crt
</VirtualHost>

服务器名www.example.com
ServerAlias example.com
服务器管理员webmaster@example.com
DocumentRoot/var/www/html/vhosts/prod\u example\u com/
选项索引跟随符号链接
允许超越所有
要求所有授权
ErrorLog“/var/log/httpd/www.example.com-error\u log”
CustomLog“/var/log/httpd/www.example.com-access\u log”通用
#为此虚拟主机启用/禁用SSL。
斯伦金安
SSLCertificateFile/etc/pki/tls/certs/comdo/STAR\u example\u com.crt
SSLCertificateKeyFile/etc/pki/tls/certs/csr/www_example_com.key
SSLCertificateChainFile/etc/pki/tls/certs/comdo/SectigoRSADomainValidationSecureServerCA.crt
ServerName dev.example.com
服务器管理员webmaster@example.com
DocumentRoot“/var/www/html/vhosts/dev_-example_-com”
允许超越所有
要求所有授权
ErrorLog“/var/log/httpd/dev.example.com-error\u log”
CustomLog“/var/log/httpd/dev.example.com-access\u log”通用
#为此虚拟主机启用/禁用SSL。
斯伦金安
SSLCertificateFile/etc/pki/tls/certs/comdo/STAR\u example\u com.crt
SSLCertificateKeyFile/etc/pki/tls/certs/csr/www_example_com.key
SSLCertificateChainFile/etc/pki/tls/certs/comdo/SectigoRSADomainValidationSecureServerCA.crt
所以,当我去的时候,效果很好。但是,当我尝试转到时,它会转到Apache服务器的webroot/var/www/html

我忽略了什么吗


提前感谢提供的任何帮助?

我似乎发现了问题所在。在我的特定实例中,vhost.conf VirtualHost标记都更改为*:443,但让一切回到正轨的是从我的httpd.conf中注释掉ServerName www.example.com:443并重新启动Apache。我希望这能帮助其他可能遭受同样问题的人。

我开始确定这个问题与标签有关。如果我将dev vhost从更改为(其中server_ip=为主机的公共ip),那么dev站点将抛出404错误。