声明:以下操作路径及 httpd.conf文件与原始文件有所区别,博主采用的httpd.conf引入其他配置文件进行分项目管理,大体操作类似
对于nginx参考腾讯实践-腾讯HTTPS性能优化实践
*可以忽略此段 -http.txt 文件为80端口配置文件修改后缀为conf,重启apache服务(service httpd restart),即可使用http进行访问项目;
一、httpd.conf文件修改如下
关于opensLL 证书和密钥配置的说明(可以选用其他厂家证书)
在*.conf文件中配置https 和证书密钥
# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on
# 4 possible values: All, SSLv2, SSLv3, TLSv1. Allow TLS only:
SSLProtocol TLSv1 TLSv1.1 TLSv1.2
SSLCertificateFile 证书存放路径
SSLCertificateKeyFile 证书密钥存放路径
SSLCACertificateFile /etc/ssl/ca-certs.pem
SSLUseStapling on
部分参数说明
ServerName 为域名地址即要访问的网址 如www.baidu.com,www.baidu.com:443
SSLUseStapling on 开启OCSP
SSLProtocol 废弃不安全的SSL2和SSL3
ServerAlias 网址别名(选填),填写后将域名解析到ip上
http强制跳转https
在项目根目录新增或添加 .htaccess 重定向文件
在文件中写入(修改相应域名 如 www.baidu.com)
RewriteCond %{HTTP_HOST} ^域名 [NC]
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
前提在httpd.conf 配置中要打开重定向功能
LoadModule rewrite_module modules/mod_rewrite.so //去除注释
api接口同理 重定向文件放置目录*****
注:原有80端口配置不需要变动
二、https优化性能
httpd-ssl.conf文件修改如下 文件目录/www/server/apache/conf/extra
Session ID重用,在Apache中可以通过SSLSessionCache 配置,在nginx可以通过ssl_session_cache设置
去除91行注释,注释92行
91行:
SSLSessionCache "dbm:/www/server/apache/logs/ssl_scache"
92行:
#SSLSessionCache "shmcb:/www/server/apache/logs/ssl_scache(512000)"
其他服务器优化请看 https优化篇