1、vi conf/httpd.conf

查找 #Include conf/extra/httpd-ssl.conf (删除行首的配置语句注释符号“#”保存退出)

2、vi conf/extra/httpd-ssl.conf

注释所有的 VirtualHost 里面的代码

然后在末尾加上以上代码

<VirtualHost *:443>
DocumentRoot "/www/web/smallshop/public_html"
ServerName demo.smallshop.me:443
ServerAdmin you@example.com
ErrorLog "/www/wdlinux/httpd-2.4.18/logs/error_log"
TransferLog "/www/wdlinux/httpd-2.4.18/logs/access_log"

SSLEngine on

SSLCertificateFile /www/ssl/smallshop/public.pem
SSLCertificateKeyFile /www/ssl/smallshop/213979745040220.key
SSLCACertificateFile /www/ssl/smallshop/chain.pem

<FilesMatch "\.(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
</FilesMatch>
<Directory "/www/wdlinux/httpd-2.4.18/cgi-bin">
    SSLOptions +StdEnvVars
</Directory>

BrowserMatch "MSIE [2-5]" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0
CustomLog "/www/wdlinux/httpd-2.4.18/logs/ssl_request_log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

</VirtualHost>

这样可以同时开启多个站点的https访问。

如果需要开启http强制跳转到https可以在.htaccess里面加上下面的代码

RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]

如果提示SSLSessionCache: 'shmcb' session cache not supported (known names: ). Maybe错误

在conf/httpd.conf里面找到LoadModule socache_shmcb_module modules/mod_socache_shmcb.so 去掉开头的#就可以了。

相关文章:

  • 2022-12-23
  • 2021-08-04
  • 2021-06-02
  • 2021-11-01
  • 2021-06-29
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-06-07
  • 2022-01-22
  • 2022-12-23
  • 2021-12-01
  • 2021-11-16
  • 2022-02-11
  • 2022-01-06
相关资源
相似解决方案