use*_*404 39 apache ssl https openssl
我正在尝试在我的服务器上配置Apache以使用ssl,但每次访问我的网站时,我都会在浏览器中收到以下消息:
SSL连接错误.无法与服务器建立安全连接.这可能是服务器的问题,或者可能需要您没有的客户端身份验证证书.错误107(net :: ERR_SSL_PROTOCOL_ERROR):SSL协议错误.
上面的错误消息似乎是Google Chrome原生的.但是,即使消息不同,该站点的ssl也无法在任何浏览器上运行.
关于这种情况的一些背景:我正在使用Ubuntu 10.04 desktop edition.
我apache通过安装安装zend server(它自动安装了apache).然后我安装了openssl.非https页面在网站上正常工作.
我尝试从多个证书站点获取试用证书,但没有任何工作(相同的错误).
我之前在另一台ssl工作正常的服务器上托管我的网站.我也尝试使用该服务器的密钥和证书文件,但我得到了同样的错误.
但域名和IP仍然相同.我SSLCertificateFile和SSLCertificateKeyFile指向正确的目录和文件.
我也没有启用SSLVerifyClient.
如果有人有任何建议,将非常感谢.
ton*_*gil 40
我和@ User39604有同样的问题,不得不遵循各种建议.由于他不记得他所遵循的确切路径,让我列出我的路径:
检查您是否使用SSL YES <?php echo phpinfo();?>
如有必要
A.在apache上启用sslsudo a2enmod ssl
B.安装opensslsudo apt-get install openssl
C.检查端口443是否打开sudo netstat -lp
D.如有必要,改变/etc/apache2/ports.conf,这是有效的
NameVirtualHost *:80
Listen 80
<IfModule mod_ssl.c>
# If you add NameVirtualHost *:443 here, you will also have to change
# the VirtualHost statement in /etc/apache2/sites-available/default-ssl
# to <VirtualHost *:443>
# Server Name Indication for SSL named virtual hosts is currently not
# supported by MSIE on Windows XP.
NameVirtualHost *:443
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
Run Code Online (Sandbox Code Playgroud)获得钥匙和证书
A.支付一个认证机构(Comodo,GoDaddy,Verisign)
B.生成自己的* - 见下文(仅测试目的)
更改您的配置(在ubuntu12中/etc/apache2/httpd.conf- 默认为空文件)以包含正确的<VirtualHost>
(替换MYSITE.COM以及密钥和证书路径/名称以指向您的证书和密钥):
<VirtualHost _default_:443>
ServerName MYSITE.COM:443
SSLEngine on
SSLCertificateKeyFile /etc/apache2/ssl/MYSITE.COM.key
SSLCertificateFile /etc/apache2/ssl/MYSITE.COM.cert
ServerAdmin MYWEBGUY@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/errorSSL.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/accessSSL.log combined
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)虽然许多其他虚拟主机配置将/etc/apache2/sites-enabled/在/etc/apache2/sites-available/其中可用,但/etc/apache2/httpd.conf解决所有问题是很重要的.
了解更多信息:
http://wiki.vpslink.com/Enable_SSL_on_Apache2
http://httpd.apache.org/docs/2.0/ssl/ssl_faq.html#selfcert
*生成自己的证书(自签名)将产生一个证书,其权限是用户的浏览器无法识别的.因此,浏览器将尖叫血腥谋杀,用户将不得不在浏览器实际打开页面之前"了解风险"十几次.所以,它只适用于测试目的.话虽如此,这是HOW-TO:
/etc/apache2/)ssl(或任何适合你的文件夹,名称不是系统要求)的文件夹/etc/apache2/sslsudo openssl req -new -x509 -nodes -out MYSITE.COM.crt -keyout MYSITE.COM.keyMYSITE.COM.crt和MYSITE.COM.key<VirtualHost>名称格式不符合严格的系统要求,必须与文件相同:) - 名称之类的212-MYSITE.COM.crt,june2014-Godaddy-MYSITE.COM.crt应该有效.
Ale*_*hko 21
我在chrome中遇到了同样的错误(在Firefox,IE中也有不同的错误).另外在error.log我得到了[error] [client cli.ent.ip.add] Invalid method in request \x16\x03
按照此站点的说明我改变了我的配置FROM:
<VirtualHost subdomain.domain.com:443>
ServerAdmin admin@domain.com
ServerName subdomain.domain.com
SSLEngine On
SSLCertificateFile conf/ssl/ssl.crt
SSLCertificateKeyFile conf/ssl/ssl.key
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
至:
<VirtualHost _default_:443>
ServerAdmin admin@domain.com
ServerName subdomain.domain.com
SSLEngine On
SSLCertificateFile conf/ssl/ssl.crt
SSLCertificateKeyFile conf/ssl/ssl.key
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
现在它工作得很好:)
小智 6
我想为这种情况建议的一个常见原因:
有时客户正在运行Skype,它使用端口443而没有意识到它.当他们开始启动Tomcat或Apache时,它似乎启动但无法与端口443绑定.这是用户在浏览器中收到的确切消息.解决方法是停止端口443上运行的内容并重新启动Web服务器,以便它可以与端口443绑定.
客户可以在启动网络服务器后重新启动Skype,Skype将检测到正在使用的端口443并选择使用其他端口.
小智 6
#Make sure that you specify the port for both http and https ie.
NameVirtualHost:80
NameVirtualHost:443
#and
<VirtualHost *:80>
<VirtualHost *:443>
#mixing * and *:443 does not work it has to be *:80 and *:443
Run Code Online (Sandbox Code Playgroud)
正确启用 SSL 的步骤。
sudo a2enmod ssl
sudo apt-get install openssl
Run Code Online (Sandbox Code Playgroud)
在可能位于 /etc/apache2/sites-available 的 SSL 配置文件 (default-ssl.conf) 中配置 SSL 证书的路径。我已将证书存储在 /etc/apache2/ssl/ 下
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/certificate.crt
SSLCertificateChainFile /etc/apache2/ssl/ca_bundle.crt
SSLCertificateKeyFile /etc/apache2/ssl/private.key
Run Code Online (Sandbox Code Playgroud)
启用 SSL 配置文件
sudo a2ensite default-ssl.conf
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
185717 次 |
| 最近记录: |