我刚刚从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 证书。
您实际上需要配置 2 个 VHost,SSL VHost 和非 SSL VHost 的区别仅在于您实际放置在 VHost 中的 SSL 部分,因为您可能拥有多个 SSL VHost(侦听不同端口),但实际上并不会在服务器范围内提供此服务是有意义的,我认为这就是您正在做的事情。
| 归档时间: |
|
| 查看次数: |
1025 次 |
| 最近记录: |