云服务器:Linux系统 Apache服务器 http转https

1.下载没有被阉割的Linux服务器,检验配置文件是否完善先。(注意:云服务区上已经有快照,我的是直接用,各位读者那就只能自己解决了)

 

2.参考阿里云的文档:https://help.aliyun.com/knowledge_detail/95493.html  (一般没有阉割的文件都有)

   (1) 在Apache的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为a.key;     

   (2) 打开 apache 安装目录下 conf 目录中的 httpd.conf 文件,找到以下内容并去掉“#”。

#LoadModule ssl_module modules/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件)
#Include conf/extra/httpd-ssl.conf(删除行首的配置语句注释符号“#”,保存后退出)

 (3)打开 apache 安装目录下 conf/extra/httpd-ssl.conf 文件 (也可能是conf.d/ssl.conf,与操作系统及安装方式有关), 在配置文件中查找以下配置语句:

# 添加 SSL 协议支持协议,去掉不安全的协议
SSLProtocol all -SSLv2 -SSLv3
# 修改加密套件如下
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
# 证书公钥配置
SSLCertificateFile cert/a_public.crt
# 证书私钥配置
SSLCertificateKeyFile cert/a.key
# 证书链配置,如果该属性开头有 '#'字符,请删除掉
SSLCertificateChainFile cert/a_chain.crt

 (4)重启Apache

service httpd restart   重启 apache

 

3. 进入httpd-ssl.conf文件中,效仿httpd-vhosts.conf,配置多个https

<VirtualHost _default_:443>
    DocumentRoot "/usr/local/apache/htdocs/video_pro"
    ServerName xxxxxx.xxxxxxx.top:443
    ServerAdmin xxxxxx.xxxxxxx.top:443/admin
    ErrorLog "/usr/local/apache/logs/error_log"
    TransferLog "/usr/local/apache/logs/access_log"

    SSLEngine on

    SSLCertificateFile "/usr/local/apache/cert/2803400_resources.zxiaomu.top_public.crt"
    SSLCertificateKeyFile "/usr/local/apache/cert/2803400_resources.zxiaomu.top.key"
    SSLCertificateChainFile "/usr/local/apache/cert/2803400_resources.zxiaomu.top_chain.crt"

    <FilesMatch "\.(cgi|shtml|phtml|php)$">
        SSLOptions +StdEnvVars
    </FilesMatch>

    <Directory "/usr/local/apache/cgi-bin">
        SSLOptions +StdEnvVars
    </Directory>

    <FilesMatch "\.(cgi|shtml|phtml|php)$">
        SSLOptions +StdEnvVars
    </FilesMatch>

    <Directory "/usr/local/apache/cgi-bin">
        SSLOptions +StdEnvVars
    </Directory>

    BrowserMatch "MSIE [2-5]" \
            nokeepalive ssl-unclean-shutdown \
            downgrade-1.0 force-response-1.0

    CustomLog "/usr/local/apache/logs/ssl_request_log" \
            "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

</VirtualHost>

备注: ServerName使用的时候必须加前缀(www或其他前缀),否则访问不了

4.测试,前面显示小锁,就证明成功了

 

posted @ 2022-12-06 22:20  轻风细雨_林木木  阅读(2)  评论(0编辑  收藏  举报