我是否为我的域购买了错误的 SSL 证书?

7 ssl certificate apache-2.2

我刚刚从Go Daddy购买了 SSL 证书。我将证书设置为:

www.mydomainname.com(如您所知,我更改了域。)

我设置了 Apache,它正在工作。所以当我输入https://www.mydomainname.com它时一切正常。

然而:

当我输入时,http://www.mydomainname.com我从 Apache 收到此错误:

Bad Request

Your browser sent a request that this server could not understand.
Reason: You're speaking plain HTTP to an SSL-enabled server port.
Instead use the HTTPS scheme to access this URL, please.
Run Code Online (Sandbox Code Playgroud)

我希望我能打字

http://www.mydomainname.com 对于 HTTP 请求

https://www.mydomainname.com 当我想要安全请求时。

我做错了什么?

这是我的 Apache 配置:

在启用站点的情况下(我使用的是 Ubuntu 的 Apache 设置)

我有文件叫 ssl

    <IfModule mod_ssl.c>;
        SSLEngine On
        SSLCertificateFile /etc/apache2/ssl/www.mydomainname.com.crt
        SSLCertificateKeyFile /etc/apache2/ssl/www.mydomainname.com.key
    </IfModule>
Run Code Online (Sandbox Code Playgroud)

另一个叫webapp

    <IfModule mod_proxy_ajp.c>
        ProxyRequests On
        ProxyVia On

        <Location />
            Order allow,deny
            Allow from all
            AuthType Basic
            AuthName "Restricted area"
            AuthUserFile /etc/apache2/passwd/access
            Require valid-user
            ProxyPass ajp://localhost:9999/
            ProxyPassReverse ajp://localhost:9999/
        </Location>

        <Location /uploader>
            Order allow,deny
            Satisfy Any
            Allow from all
            ProxyPass ajp://localhost:9999/uploader
            ProxyPassReverse ajp://localhost:9999/uploader
        </Location>
    </IfModule>
Run Code Online (Sandbox Code Playgroud)

Mat*_*ons 10

检查您的 Apache 配置以确保您正在侦听端口 80 的 HTTP 和端口 443 的 HTTPS。

在你的/etc/httpd/conf/httpd.conf,你应该有“听 80”。您还应该有一个/etc/httpd/conf.d/ssl.conf文件(可能),其中指定了“Listen 443”。

您需要配置虚拟主机,一台用于 *:80,一台用于 *:443。*:443 中需要包含 SSL 规范,*:80 中不应包含 SSL 内容。

您没有购买错误的 SSL 证书。


Mar*_* M. 1

您实际上需要配置 2 个 VHost,SSL VHost 和非 SSL VHost 的区别仅在于您实际放置在 VHost 中的 SSL 部分,因为您可能拥有多个 SSL VHost(侦听不同端口),但实际上并不会在服务器范围内提供此服务是有意义的,我认为这就是您正在做的事情。