ubuntu下Apache配置SSL

坚持创作不容易,若本博文对你有帮助,请给我一大赞,非常感谢!!!如果能评论下,点评下,我将无限感激!

环境说明

1、ubuntu16

2、Apache/2.4.18 (Ubuntu)

3、工具  winscp(修改文件可视化操作比较方便)  xshell

准备好证书文件

1、从证书控制台上下载的证书文件,本文使用的是证书系统创建的CSR,里面包含了:证书私钥文件xxxxxxxx.key、证书公钥文件public.pem、证书链文件chain.pem。

总体思路

1、上传证书到服务器上

2、修改配置文件(启用mod_ssl模块,配置证书路径等)

3、重启Apache

4、测试https域名能否正常访问

具体步骤 (感谢这两位博主的热心分享,给你们点赞 博主一 博主二

1、在Apache的安装目录下(我使用命令安装apache的,路径是/usr/local/Apache24),创建cert目录。将下载的全部文件拷贝到cert目录中。(建议使用自动生成的,方便快捷)如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为xxxxxxxx.key;

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

#LoadModule ssl_module modules/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件)

#(有两种方案,一种是修改这个https-ssl.conf文件,另一种是修改/etc/apache2/sites-available路径下default-ssl.conf文件)

#Include conf/extra/httpd-ssl.conf(方案二不需要注释掉这句, 建议采用方案二,不需要注释这句)

3、配置证书路径

方案一 修改启用https-ssl.conf文件(建议采用方案二,在下面)

# 注意!!下面的属性如果开头有 '#'字符,请删除掉

# 添加 SSL 协议支持协议,去掉不安全的协议
SSLProtocol all -SSLv2 -SSLv3
# 修改加密套件如下
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
# 证书公钥配置
SSLCertificateFile "${SRVROOT}/cert/xxxxpublic.pem"
# 证书私钥配置
SSLCertificateKeyFile "${SRVROOT}/cert/xxxxxxx.key"
# 证书链配置
SSLCertificateChainFile "${SRVROOT}/cert/xxxchain.pem"

修改效果

方案二 修改启用default-ssl.conf文件

进入 /etc/apache2/sites-available 下找到default-ssl.conf对照下面代码修改

1)文件位置

2)添加内容

<IfModule mod_ssl.c>
        <VirtualHost _default_:443>
                ServerAdmin webmaster@localhost
                DocumentRoot (项目目录)
                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined
                #   SSL Engine Switch:
                #   Enable/Disable SSL for this virtual host.
                SSLEngine on
                # 证书文件路径
                SSLCertificateFile      /usr/local/Apache24/cert/xxxxcert.pem
                # 证书秘钥文件路径
                SSLCertificateKeyFile  /usr/local/Apache24/cert/xxxxprivkey.pem
                # 证书链路径
                SSLCertificateChainFile /usr/local/Apache24/cert/xxxchain.pem
                <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                 </FilesMatch>
        </VirtualHost>
</IfModule>
 

3)修改后的效果

4、启用配置
sudo a2ensite default-ssl.conf
sudo service apache2 reload 或者 sudo systemctl restart apache2

5、开启443端口

 若使用的是云主机,要开启端口的地方有两个,

一个是系统(若开启了防火墙)

另一个是云主机,若使用的是阿里云,则直接在云主机实例控制台页面中左侧栏中选择安全组,然后进行配置

6、测试

在浏览器上输入 https://yourdomain(你的域名).com  

最后,恭喜你配置成功!!!

7、配置http重定向 请参考该博文 Apache Http重定向到Https

若有疑问或者无法成功配置者请联系我,大家多多交流!

猜你喜欢

转载自blog.csdn.net/binbinczsohu/article/details/107288772