网站SSL证书配置https
1.先从阿里云申请免费SSl证书
https://common-buy.aliyun.com/?spm=5176.2020520154.cas.3.1c52jRJqjRJqnj&commodityCode=cas#/buy
2.修改Apache的配置文件httpd.conf
打开ssl模块,没有这个模块就需要安装依赖包:mod_ssl,安装后就会在modules里面找到:
LoadModule ssl_module modules/mod_ssl.so
引入ssl配置文件,增加支持ssl:
Include conf/extra/httpd-ssl.conf(去掉行首的注释)
启动重定向(可选),使用用户HTTP访问自动重定向为HTTPS,直接在http.conf或者在.htaccess文件尾加入下面的内容:
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/?(.*)$ https://%{SERVER_NAME}/$1 [L,R]
3.修改SSL模块的配置文件ssl.conf,在conf.d目录下面有ssl.conf配置文件,把从阿里云申请成功的证书文件public,key,cert引入即可
DocumentRoot "/var/www/html/"ServerName www.example.com:443 ErrorLog logs/ssl_error_logTransferLog logs/ssl_access_logLogLevel warn SSLEngine on SSLProtocol all -SSLv2 -SSLv3 SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM SSLCertificateFile /etc/httpd/cert/public.crt //这个是SSL证书里的公钥 SSLCertificateKeyFile /etc/httpd/cert/*.key //这个是私钥 SSLCertificateChainFile /etc/httpd/cert/*.crt //这个是证书文 SetEnvIf User-Agent ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 # Per-Server Logging:# The home of a custom SSL log file. Use this when you want a# compact non-error SSL logfile on a virtual host basis.CustomLog logs/ssl_request_log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
4.重启Apache
service httpd restart
在浏览器输入https://域名 或者 域名:443,如果两个能正常访问,表示https已经配置成功。
5.有可能的问题
a.有可能apache没有ssl模块,需要编译或者yum安装ssl模块
b. 浏览器现在不允许在https页面里嵌入http的请求
页面的head中加入:
可以自动将http的不安全请求升级为https
如果接口是http的需要改下代码接口
原文链接:https://blog.csdn.net/weixin_44060079/article/details/88683711