尝试在OpenSUSE桌面上设置SSL时遇到大问题。
通常,apache正在监听端口443,但是当我尝试转到
https://localhost
浏览器报告SSL问题:“ ssl_error_rx_record_too_long”。当我尝试执行在计算机上创建的任何虚拟主机时,也会发生相同的情况(所有虚拟主机都基于ip)
我可以通过以下方式手动解决此问题:
cd /etc/apache2/vhosts.d
cp vhost-ssl.template mySSL-host.conf
apache2ctl restart
那解决了我的https问题,但是所有虚拟主机都消失了,它们都指向本地主机。
当我重新启动YaST时-虚拟主机重新出现,但是mySSL-host.conf文件消失了,并返回https问题。
使用YaST使用虚拟主机设置SSL的正确方法是什么,或者至少如何使其与YaST兼容?
最佳答案
ssl_error_rx_record_too_long表示证书配置错误。
确保您的系统中安装了正确的SSL证书。
没有这些,HTTPS将无法运行。您可以从startssl.com之类的公司获得它们
确保已启用SSL标志:
(针对特定用途)
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 [email protected]
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重启
关于apache - 使用OpenSUSE/Yast用/SSL设置Apache,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24888407/