在Apache和CentOS下使用虚拟主机configurationSSL

我有两个从CentOS实例提供的网站。 其中一个启用了SSL,另一个刚刚在80端口服务。

所以, http://siteone.comhttps://siteone.com都可以正常工作,就像http://sitetwo.com

问题是https://sitetwo.com显示https://siteone.com

我有一个公共IP地址可用。

我认为这种情况是我不能从一个IP服务两个https站点,但是至less有一种方法可以将httpsredirect到https://sitetwo.com 80端口,而不是提供错误的站点?

 sudo apachectl -S AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using xxx.xxx.xxx.xxx. Set the 'ServerName' directive globally to suppress this message VirtualHost configuration: ▽ xxx.xxx.xxx.xxx:443 siteone.com (/etc/httpd/sites-enabled/ssl-siteone.conf:1) *:80 is a NameVirtualHost default server beta-siteone (/etc/httpd/sites-enabled/beta-siteone.conf:1) port 80 namevhost beta-ilegis (/etc/httpd/sites-enabled/beta-siteone.conf:1) alias beta.siteone.com port 80 namevhost siteone.com (/etc/httpd/sites-enabled/siteone.conf:1) alias www.siteone.com port 80 namevhost sitetwo.com (/etc/httpd/sites-enabled/sitetwo.com.conf:1) alias www.sitetwo.com *:443 is a NameVirtualHost default server xxx.xxx.xxx.xxx (/etc/httpd/conf.d/ssl.conf:56) port 443 namevhost xxx.xxx.xxx.xxx (/etc/httpd/conf.d/ssl.conf:56) port 443 namevhost xxx.xxx.xxx.xxx (/etc/httpd/sites-enabled/ssl-sitetwo.com.conf:1) ServerRoot: "/etc/httpd" Main DocumentRoot: "/var/www/html" Main ErrorLog: "/etc/httpd/logs/error_log" Mutex proxy: using_defaults Mutex authn-socache: using_defaults Mutex ssl-cache: using_defaults Mutex default: dir="/run/httpd/" mechanism=default Mutex mpm-accept: using_defaults Mutex authdigest-opaque: using_defaults Mutex proxy-balancer-shm: using_defaults Mutex rewrite-map: using_defaults Mutex authdigest-client: using_defaults Mutex ssl-stapling: using_defaults PidFile: "/run/httpd/httpd.pid" Define: DUMP_VHOSTS Define: DUMP_RUN_CFG User: name="apache" id=48 Group: name="apache" id=48 

两个https可以在一个IP中服务。 您只需validation虚拟主机configuration是否正常工作。

你确定你的虚拟主机工作? 你可以在网站上使用这个configuration。

<VirtualHost *:80> ServerName www.example.com ServerAlias example.com DocumentRoot /var/www/example.com/public_html ErrorLog /var/www/example.com/error.log CustomLog /var/www/example.com/requests.log combined </VirtualHost>

<VirtualHost *:80> ServerName www.example2.com DocumentRoot /var/www/example2.com/public_html ServerAlias example2.com ErrorLog /var/www/example2.com/error.log CustomLog /var/www/example2.com/requests.log combined </VirtualHost>

按照这里的教程

如果您确定您的虚拟主机configuration,那么您可以像这样更改configuration:

<VirtualHost *:443> ServerName www.example.com ServerAlias example.com DocumentRoot /var/www/example.com/public_html ErrorLog /var/www/example.com/error.log CustomLog /var/www/example.com/requests.log combined SSLEngine on SSLCertificateFile /etc/apache2/ssl/example/apache.crt SSLCertificateKeyFile /etc/apache2/ssl/example/apache.key </VirtualHost>

<VirtualHost *:443> ServerName www.example2.com DocumentRoot /var/www/example2.com/public_html ServerAlias example2.com ErrorLog /var/www/example2.com/error.log CustomLog /var/www/example2.com/requests.log combined SSLEngine on SSLCertificateFile /etc/apache2/ssl/example2/apache.crt SSLCertificateKeyFile /etc/apache2/ssl/example2/apache.key </VirtualHost>

也许你可以参考这个 ssl教程。

最后你可以像这样访问你的网页
https://example.com
https://example2.com