腾讯云 Ubuntu+Apache2配置https和重定向

ssl配置

安装openssl

sudo apt-get install openssl

开启ssl模块

输入

    sudo a2enmod ssl

无效则输入下面两个命令

    sudo ln -s /etc/apache2/mods-available/ssl.load /etc/apache2/mods-enabled/ssl.load
     sudo ln -s /etc/apache2/mods-available/ssl.conf /etc/apache2/mods-enabled/ssl.conf

获取证书

    
下载证书并解压后得到四种环境的文件夹,然后把Apache文件夹下面的文件放到服务器 /etc/apache2/ssl/  里
命令:

$ mkdir /etc/apache2/ssl

$ cp ~/.../server.key /etc/apache2/ssl/.

$ cp ~/.../ca.crt /etc/apache2/ssl/.

腾讯云 Ubuntu+Apache2配置https和重定向_第1张图片

https://console.qcloud.com/ssl/apply

配置HTTPS(SSL)

1.进入/etc/apache2/ports.conf 
查看是否有

Listen 80
Listen 443

没有就添加上去

2.配置ssl虚拟站点 
上文安装完后,会在/etc/apache2/sites-available/目录下生成一个缺省的default-ssl文件。缺省的网页目录仍然是/var/www/。我们可以创建一个链接到site-enabled目录。

sudo ln -s /etc/apache2/sites-available/default-ssl /etc/apache2/sites-enabled/001-ssl
启用SSL站点

$ a2ensite default-ssl


配置虚拟主机

编辑default-ssl文件,加入证书对应的主机头。

$ sudo vim /etc/apache2/sites-enabled/default-ssl.conf

找到

    SSLCertificateFile,
    SSLCertificateKeyFile,SSLCertificateChainFile

配置为

    SSLCertificateFile  证书地址/2_xxx.crt
    SSLCertificateKeyFile 证书地址/3_xxx.key
    SSLCertificateChainFile 证书地址/1_root_bundle.crt

重启apache

    sudo service apache2 restart
    应该已经可以访问https了

设置http重定向为https

1.启动重定向

启动 rewrite mod

    sudo a2enmod rewrite 
    或者
    sudo ln -s /etc/apache2/mods-available/rewrite.load  /etc/apache2/mods-enabled/rewrite.load

2.设置http端口重定向

打开 /etc/apache2/sites-available/000-default.conf ,

在 <\VirtualHost *:80><\VirtualHost> 标签内随便一个地方加入以下三行

RewriteEngine on
RewriteCond   %{HTTPS} !=on
RewriteRule   ^(.*)  https://%{SERVER_NAME}$1 [L,R]

或者在网站目录处新建.htaccess 输入

    RewriteEngine on
    RewriteBase / 
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^.* https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

3.最后重启

sudo service apache2 restart











你可能感兴趣的:(后台开发)