当我尝试在OpenSUSE桌面上设置SSL时,我遇到了大问题。
通常,apache正在侦听端口443,但是当我尝试去
时https://localhost
浏览器报告SSL问题:“ssl_error_rx_record_too_long”。当我尝试去我的机器上创建的任何vhost时(同样我的所有vhost都是基于ip的),同样的情况也会发生 我可以通过以下方式手动解决问题:
cd /etc/apache2/vhosts.d
cp vhost-ssl.template mySSL-host.conf
apache2ctl restart
解决了我的https问题,但是所有的虚拟主机都消失了,它们都指向了localhost。 当我重新启动YaST时 - vhosts重新出现,但mySSL-host.conf文件消失,并且https问题返回。
使用YaST使用vhost设置SSL的正确方法是什么,或者至少如何使其与YaST兼容?
答案 0 :(得分:0)
ssl_error_rx_record_too_long表示配置错误的证书。
确保您的系统中安装了正确的SSL证书。 如果没有这些,HTTPS将无法运行。你可以从startssl.com这样的公司获得它们
确保您已启用SSL标记:
(suse specific)
a2enflag SSL
a2disflag NOSSL
现在让我们看一下/etc/apache2/vhosts.d/mysslhost.conf中的示例配置
<VirtualHost *:443>
# General setup for the virtual host
DocumentRoot "/srv/www/mysite/"
ServerName www.mysite.com
ServerAdmin webmaster@mysite.com
ErrorLog /var/log/apache2/error_log
TransferLog /var/log/apache2/access_log
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /srv/www/mysite/>
Options +FollowSymlinks
Order allow,deny
Allow from all
</Directory>
SSLEngine on
SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA 3DES RC4 !aNULL !eNULL !LOW !MD5 !EXP !PSK !SRP !DSS +3DES 3DES +RC4 RC4"
SSLHonorCipherOrder on
SSLCertificateFile /etc/apache2/ssl/ssl.crt
SSLCertificateKeyFile /etc/apache2/ssl/ssl.nopassword.key
SSLCertificateChainFile /etc/apache2/ssl/sub.class1.server.ca.pem
SSLCACertificateFile /etc/apache2/ssl/ca.pem
#SSLUseStapling on
#SSLStaplingResponderTimeout 5
#SSLStaplingReturnResponderErrors off
CustomLog /var/log/apache2/access.log combined
ServerSignature On
</VirtualHost>
</IfDefine>
</IfDefine>
然后运行rcapache2 restart