热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

1.ubuntu下的apache2安装sudoapt-getinstallapache2首先ubuntu下apache文件分布和windows下不一样我

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


推荐阅读
  • 本文介绍了在Ubuntu下制作deb安装包及离线安装包的方法,通过备份/var/cache/apt/archives文件夹中的安装包,并建立包列表及依赖信息文件,添加本地源,更新源列表,可以在没有网络的情况下更新系统。同时提供了命令示例和资源下载链接。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • 本文介绍了三种方法来实现在Win7系统中显示桌面的快捷方式,包括使用任务栏快速启动栏、运行命令和自己创建快捷方式的方法。具体操作步骤详细说明,并提供了保存图标的路径,方便以后使用。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • 本文介绍了深入浅出Linux设备驱动编程的重要性,以及两种加载和删除Linux内核模块的方法。通过一个内核模块的例子,展示了模块的编译和加载过程,并讨论了模块对内核大小的控制。深入理解Linux设备驱动编程对于开发者来说非常重要。 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • 本文介绍了一种轻巧方便的工具——集算器,通过使用集算器可以将文本日志变成结构化数据,然后可以使用SQL式查询。集算器利用集算语言的优点,将日志内容结构化为数据表结构,SPL支持直接对结构化的文件进行SQL查询,不再需要安装配置第三方数据库软件。本文还详细介绍了具体的实施过程。 ... [详细]
  • 本文介绍了Windows Vista操作系统中的用户账户保护功能,该功能是为了增强系统的安全性而设计的。通过对Vista测试版的体验,可以看到系统在安全性方面的进步。该功能的引入,为用户的账户安全提供了更好的保障。 ... [详细]
author-avatar
40740
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有