如何配置ssl 证书(腾讯云的 ubuntu系统 apache 服务器)

如何配置ssl 证书(腾讯云的 ubuntu系统 apache 服务器)

第一步:开通服务器的443端口
第二步:下载ssl证书
第三步:创建443端口的配置文件default-ssl.conf
第四步:启动命令
第五步:修改80端口的配置文件000-default.conf

第一步:开通服务器的443端口

腾讯云服务器有网页支持很容易开通
只要打开 客户端管理->安全组->点击新建安全组->模版选择开通443端口
不需要填写任何内容。

在这里插入图片描述
在这里插入图片描述

**

第二步 下载ssl证书

腾讯云可以免费申请ssl证书
申请成功后点击云产品->在搜索框里输入“SSL 证书”->选择证书管理->下载证书
在这里插入图片描述
在这里插入图片描述

**

第三步:创建443端口的配置文件default-ssl.conf

  1. 假设我的网站域名是www.yahoo.cn,通过申请后得到的证书有三个文件1_root_bundle.crt,2_yahoo.cn.crt,3_yahoo.cn.key

  2. 上传证书到服务器,证书可以放到你选择的地方,不过大家一般会放到(/etc/httpd/ssl),我把证书上传到我的项目目录(/var/www/yahoo/ssl/)

  3. 在服务器端输入命令开启apache ssl模块
    sudo a2enmod ssl
    服务器就会在/etc/apache2/sites-available文件夹里生成一个模版文件default-ssl.conf
    修改这个文件

<VirtualHost 0.0.0.0:443>
    DocumentRoot "/var/www"
    ServerName yahoo.cn
    ServerAlias www.yahoo.cn
    <Directory /var/www>
            AllowOverride All
            Require all granted
        </Directory>
    SSLEngine on
    SSLCertificateFile /var/www/yahoo/ssl/2_yahoo.cn.crt
    SSLCertificateKeyFile /var/www/yahoo/ssl/3_yahoo.cn.key
    SSLCertificateChainFile /var/www/yahoo/ssl/1_root_bundle.crt
</VirtualHost>

第四步:启动命令

  1. 在服务器端输入 sudo a2ensite default-ssl 命令 (创建default-ssl.conf文件的软连接)
    可以到目录(/etc/apache2/sites-enabled)看default-ssl.conf 是否存在,存在表示软连接成功。
    也可以用命令 sudo a2dissite default-ssl 解除软链接
  2. 启动 apache
    sudo service apache2 restart
  3. 在浏览器输入地址
    https://www.yahoo.cn 看看是否可以访问。如果能访问表示设置ssl成功

**

第五步:修改80端口的配置文件000-default.conf

如果想输入域名www.yahoo.cn 就能直接定位到https://www.yahoo.cn
则需要修改80端口的配置文件,一般默认是000-default.conf,有可能改成别的名字的配置文件,可以查看目录(/etc/apache2/sites-enabled)。

<VirtualHost *:80>
      ServerName yahoo.cn
      ServerAlias www.yahoo.cn
      ServerAdmin webmaster@localhost
      DocumentRoot /var/www
      ErrorLog ${APACHE_LOG_DIR}/yahoo_error.log
      CustomLog ${APACHE_LOG_DIR}/yahoo_access.log combined
      
      #主要是添加下面三句代码,表示所有的链接都定向到https
      RewriteEngine on
      RewriteCond   %{HTTPS} !=on
      RewriteRule   ^(.*)  https://%{SERVER_NAME}$1 [L,R]
 
</VirtualHost>

重新启动 apache
sudo service apache2 restart

就可以快乐的访问了

借鉴了:
https://www.cnblogs.com/idjl/p/9610563.html
https://www.cnblogs.com/bushuwei/p/11899789.html