搞了两三个小时,盯屏幕盯得眼睛疼,终于搞好了,写个文章纪念一下,也给同样需要的同类们提供一个参考
首先说一下这具体的思路流程,方便大家有一个参考,我在我发的另一篇文章https://blog.csdn.net/guojun13598079464/article/details/81191703 提到我亲测的两种安装方式,而我使用的yum安装方式进行的安装,但是使用yum安装文件比较少,而搜索出来的文章大多是安装包安装的方式进行配置的https,很少有详细讲述yum安装并且是阿里云服务器的。
我这里主要说的是在阿里云服务器配置https,当然其他centOS的服务器也能;
在这篇文档中,我使用的是阿里云免费证书(https://www.aliyun.com/product/cas?spm=5176.8142029.388261.256.aJL1ix)。假设CentOS7 已经安装了Apache Web服务器,版本为httpd2.4.6。我们需要使用OpenSSL生成自签名证书。如果尚未安装OpenSSL,它可以使用yum来安装。
# yum install mod_ssl openssl
安装完毕后,会自动生成 /etc/httpd/conf.d/ssl.conf 文件,下文配置会用到
这里提供一个自动生成证书的方式,没有测试,不保证能用
#建立服务器密钥
openssl genrsa -des3 1024 > /usr/local/apache/conf/server.key
# 从密钥中删除密码(以避免系统启动后被询问口令)
openssl rsa -in /usr/local/apache/conf/server.key > /usr/local/apache/conf/server2.key
mv /usr/local/apache/conf/server2.key /usr/local/apache/conf/server.key
#建立服务器密钥请求文件
openssl req -new -key /usr/local/apache/conf/server.key -out /usr/local/apache/conf/server.csr
5>openssl x509 -in /usr/local/apache/conf/server.csr -out
# 建立服务器证书
/usr/local/apache/conf/server.crt -req -signkey /usr/local/apache/conf/server.key -days 365
LoadModule ssl_module modules/mod_ssl.so
Listen 443
SSLPassPhraseDialog builtin
SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout 300
SSLMutex default
SSLRandomSeed startup file:/dev/urandom 256
SSLRandomSeed connect builtin
SSLCryptoDevice builtin
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW:!RC4:
DocumentRoot "/home/store/webroot"
Servername https://xxx.com/
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn
SSLEngine on
SSLCertificateFile /etc/httpd/conf/cert/xxx.com.crt
SSLCertificateKeyFile /etc/httpd/conf/cert/xxx.com.key
SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt #修改这三处标黑的地方换成你下载的证书地址,证书按照阿里云 文档要求的放在cert文件夹中
DocumentRoot "/home/store/webroot"
Servername https://xxx.com/
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn
SSLEngine on
SSLCertificateFile /etc/httpd/conf/cert/xxx.com.crt
SSLCertificateKeyFile /etc/httpd/conf/cert/xxx.com.key
打开ssl模块,没有这个模块就需要安装依赖包:mod_ssl,安装后就会在modules里面找到:
LoadModule ssl_module modules/mod_ssl.so 添加到相应的地方(如果有就不添加)
引入ssl配置文件,增加支持ssl:
Include conf/extra/httpd-ssl.conf(去掉行首的注释)
启动重定向(可选),使用用户HTTP访问自动重定向为HTTPS,直接在http.conf最后配置即可,在httpd.conf文件尾加入如下内容:
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/?(.*)$ https://%{SERVER_NAME}/$1 [L,R]
service httpd restart
到这里就配置成功了。。。
参考文章:https://www.cnblogs.com/liaojiafa/p/6028816.html
https://blog.csdn.net/dexter_wang/article/details/54835635
https://www.cnblogs.com/ryanlamp/p/6377637.html
https://blog.csdn.net/HQB421/article/details/77532828#commentsedit