Сайт перестал работать по http после добавления ssl / https

Мой сайт, скажем, abc.com работал по http, а не по https. После добавления этих строк в httpd.conf,

ServerName abc.com
DocumentRoot "c:/wamp/www/"
Listen 443
SSLEngine on
SSLCertificateFile C:/MyPath/MyCertcer
SSLCertificateKeyFile C:/MyPath/MyKey.key
SSLCACertificateFile C:/MyPath/MyCAA.crt

Мой сайт начал работать на https, но остановился на http. Эти настройки не находятся внутри Virtual-Host или Directory. Я получаю:

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.
Apache/2.4.9 (Win64) OpenSSL/1.0.1g PHP/5.5.12 Server at abc.com Port 443

В моем конфиге вверху у меня также есть

Listen 0.0.0.0:80
Listen [::0]:80
0
задан 4 April 2017 в 19:53
2 ответа

Подойдет несколько конфигураций httpd.conf. Например:

Listen 80
Listen 443

NameVirtualHost *:80
NameVirtualHost *:443

<VirtualHost *:80>
  ServerName abc.com
  DocumentRoot "c:/wamp/www/"
</VirtualHost>

<VirtualHost *:443>
  ServerName abc.com
  DocumentRoot "c:/wamp/www/"
  SSLEngine on
  SSLCertificateFile C:/MyPath/MyCert.cer
  SSLCertificateKeyFile C:/MyPath/MyKey.key
</VirtualHost>
3
ответ дан 4 December 2019 в 11:25

Если у вас уже есть сертификат и запущен SSL, вы можете просто перенаправить все запросы на защищенный сайт SSL:

NameVirtualHost *:80
<VirtualHost *:80>
   ServerName example.com
   Redirect permanent / https://example.com/
</VirtualHost>

<VirtualHost _default_:443>
   ServerName example.com
   DocumentRoot c:/wamp/www/
   SSLEngine on
   SSLCertificateFile C:/MyPath/MyCertcer
   SSLCertificateKeyFile C:/MyPath/MyKey.key
   SSLCACertificateFile C:/MyPath/MyCAA.crt
</VirtualHost>

Подробнее см. https://wiki.apache.org/ httpd / RedirectSSL

2
ответ дан 4 December 2019 в 11:25

Теги

Похожие вопросы