【发布时间】:2018-03-26 09:49:29
【问题描述】:
我想使用 SNI 在相同的 ip 和端口上配置 ssl,或者可以是不同的端口,但我无法指示 apache 提供所请求域的 ssl 证书。
它提供默认站点证书。我无法调试问题。
我访问日志它显示默认域名但是请求是其他域的..
例如,我询问 site1.com,然后 site1.com 打开并提供 site1.com,但是如果我询问 site2.con,它提供 site1.com 的 ssl,并且 site2.com 被重定向到 site1.com
如果我添加 域名:443 代替 *:443 然后浏览器给出241重定向错误,如下
Misdirected Request 客户端需要一个新的连接来处理这个请求 因为请求的主机名与服务器名称指示不匹配 (SNI) 正在用于此连接。
我正在 /etc/apache2/ports.conf 中的端口 80 和 443 上监听 我已经安装了 ssl mod 使用 apt-get 安装 libapache2-mod-ssl a2enmod ssl
我正在使用具有最新 apache2 版本和 openssl 的 ubuntu 服务器仿生 (18)
我关注了多个来源,但是点击这些链接并没有解决我的问题
SSLStrictSNIVHostCheck on
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin admin@site1.com
ServerName site1.com/
ServerAlias www.site1.com/
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/site1.com/certificate.crt
SSLCertificateKeyFile /etc/apache2/ssl/site1.com/private.key
SSLCertificateChainFile /etc/apache2/ssl/site1.com/ca_bundle.crt
DocumentRoot /var/www/site1.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
</IfModule>
<VirtualHost *:80>
ServerName site1.com
ServerAlias www.site1.com
DocumentRoot /var/www/site1.com/public_html
Redirect permanent / https://site1.com/
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin admin@site2.com
ServerName site2.com/
ServerAlias www.site2.com/
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/site2.com/certificate.crt
SSLCertificateKeyFile /etc/apache2/ssl/site2.com/private.key
SSLCertificateChainFile /etc/apache2/ssl/site2.com/ca_bundle.crt
DocumentRoot /var/www/site2.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
</IfModule>
< VirtualHost *:80>
ServerName site2.com
ServerAlias www.site2.com
DocumentRoot /var/www/site2.com/public_html
Redirect permanent / https://site2.com/
</VirtualHost>
【问题讨论】:
标签: apache ubuntu ssl sni website-hosting