• ubuntu下apache配置https且强制http转向为https 腾讯云


    1.ubuntu下的apache2

      安装

        sudo apt-get install apache2  

      首先ubuntu下apache文件分布和windows下不一样 

      我通过apt-get安装 
      - 默认站点在 /var/www/ 
      - 配置文件在 /etc/apache2/  
      - 日志在 /var/log/apache/  
      - 启动脚本是 /etc/init.d/apache2

      其中 etc/apache2中的配置文件又有几个文件夹与文件 
      apache2.conf   :Apache的主要配置文件,包含全局配置。
      envvars            :Apache2环境变量设置。
      ports.conf   :配置Apache监听的端口。
      mods-available:这个目录包含模块和模块配置文件,不是所有的模块都有配置文件。
      mods-enabled  :持有/etc/apache2/mods-available目录下文件的链接,当该目录下有一个模块文件和其配置文件,那么Apache重启后该模块将生效。
      sites-available  :这个目录包含Apache虚拟主机的配置文件。

               虚拟主机允许Apache配置多个站点并为每个站点配置不同的参数。

               后面下面配置的时候会配置80端口的http重定向为443的https。
      sites-enabled   : 持有/etc/apache2/sites-available目录下文件的链接。

               当Apache重启后,该目录中包含的站点将会被激活。

    2.ssl配置

      安装openssl

        1.sudo apt-get install openssl

      开启ssl模块

        输入

          1.sudo a2enmod ssl

        无效则输入下面两个命令

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

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

      获取证书

        我因为用的腾讯云,直接在腾讯云上一件申请了一年的免费证书    

        会有3个文件    1_root_bundle.crt    2_xxx.crt    3_xxx.key

        下载证书并解压后得到四种环境的文件夹,

        然后把Apache文件夹下面的文件放到服务器 /etc/apache2/ssl/ 里

          新建文件 mkdir /etc/apache2/ssl

      配置HTTPS(SSL)

        1.进入/etc/apache2/ports.conf 

          查看是否有

        1. Listen 80

        2. 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

        3. 启用SSL站点

          a2ensite default-ssl

         4. 配置虚拟主机

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

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

          找到

        1. SSLCertificateFile
        2. SSLCertificateKeyFile
        3. SSLCertificateChainFile

          配置为

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

        5.重启apache

            1. sudo service apache2 restart

    3.设置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> 标签内随便一个地方加入以下三行

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

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

        1. RewriteEngine on   
        2. RewriteBase /     
        3. RewriteCond %{SERVER_PORT} !^443[        DISCUZ_CODE_209        ]nbsp;   
        4. RewriteRule ^.* https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

      3.最后重启

        sudo service apache2 restart

  • 相关阅读:
    免费下载!8套最新出炉的扁平化设计风格图标
    modern.IE – Web 开发必备的 IE 浏览器测试工具
    优秀案例!教您如何设计现代简约风格网页
    Mondrian – 开源的矢量图形 Web 应用程序
    超精美!10款专业的高质量名片设计模板
    英文字体下载大全:35款高品质英文字体
    免费下载!Twitter Bootstrap V3 矢量界面素材
    WOW.js – 在页面滚动时展现动感的元素动画效果
    Cool!12幅由小图片组成的创意图像重组作品
    InstantClick – 快速响应!让你的网站与众不同
  • 原文地址:https://www.cnblogs.com/zydtm/p/9590613.html
Copyright © 2020-2023  润新知