首页 > 其他分享 >ubunut apache2下配置和https重定向

ubunut apache2下配置和https重定向

时间:2023-03-31 23:57:47浏览次数:35  
标签:https etc 证书 apache2 ssl ubunut conf apache

apache2的目录文件详解

Apache在启动的时候自动读取文件配置信息 apache2引用到以下文件;

#包含动态模块的配置
include /etc/apache2/mods-enabled/*.load
include /etc/apache2/mods-enabled/*.conf
#包含用户自己的配置
include /etc/apache2/httpd.conf
#包含端口监听的配置
include /etc/apache2/ports.conf
#包含一般性的配置语句片段
include /etc/apache2/conf.d/
#包含虚拟主机的配置指令
include /etc/apache2/sites-available
包含两个文件 000-default.conf 和default-ssl.conf文件
000-default.conf是使用http协议网站的默认网站配置文件
default-ss.conf是https协议网站才使用的默认网站配置文件。
#软连接指向
include /etc/apache2/sites-enables/

Apache2绑定域名

1. 打开/etc/hosts文件 

添加 127.0.0.1 test.com

2.配置/etc/apache2/sites-availables/000-default.conf

#如果包含了很多子域名的话
添加
ServerName test.com 
ServerAlias  *.testclom

#如果只绑定一个就直接写上www
ServerName www.test.com

Apache自签证书

一.启用mod_ssl

使用ssl证书之前首先得启用mod_ssl,提供ssl加密的支持的apache模块

#开启ssl模块,提供对ssl加密的支持的apache模块
sudo a2enmod ssl
#启动重定向
sudo a2enmod rewrite

二.创建ssl证书

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

配置
Listen 80
Listen 443

apache使用加密后生成新的ssl证书

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-cert.key -out /etc/ssl/certs/apache-cert.crt
#openssl 创建和管理openssl证书
#req -x509   指定我们要用x.509证书签名请求(CSR)管理 X.509是ssl和TLS用于密钥和证书管理的共用密钥基础结构标准
#-nodes 告诉openssl跳过使用密码短语保护我们的证书选项 因为不跳过的话 apache服务的读取文件可以在没有用户的情况下读取文件
#-days 365 这是时间365天过期
#-newkey rsa:2048 指定生成一个新证书和一个新密钥
#-keyout 告诉openssl在何处放置我们生成的私钥文件
#-out: 这告诉openssl在哪里放置我们在创建的证书
会有要创建的提示

Country Name (2 letter code) [XX]:US
State or Province Name (full name) []:Example
Locality Name (eg, city) [Default City]:Example
Organization Name (eg, company) [Default Company Ltd]:Example Inc
Organizational Unit Name (eg, section) []:Example Dept
Common Name (eg, your name or your server's hostname) []:your_domain_or_ip
Email Address []:[email protected]

三.生成了apache配置为了使用ssl

1.有一个自签名证书和密钥,更新apache配置使用他们

cd /etc/apache2/sites-available 

vim /etc/apache2/sites-available/default-ssl.conf 使用

#删除所有的注释的猴,虚拟主机配置下的文件如下所示
<IfModule mod_ssl.c>
        <VirtualHost _default_:443>
                ServerAdmin webmaster@localhost
​
                DocumentRoot /var/www/html
​
                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined
​
                SSLEngine on
​
                SSLCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
                SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
​
                <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>
​
        </VirtualHost>
</IfModule>

修改http主机文件重定向到HTTPS

2.将伪加密的虚拟主机文件以所有流量重定向到ssl加密

sudo vim /etc/apache2/sites-availables/000-default.conf

 <\VirtualHost *:80><\VirtualHost> 标签内随便一个地方加入以下三行
        RewriteEngine on
        RewriteCond %{HTTPS} !=on
        RewriteRule  ^(.*) https://%{SERVER_NAME}$1 [L,R]

3. ufw放行apache端口

ufw  allow 'Apache full'

4.重启apache2服务激活

#重启apache以激活该模块
sudo systemctl restart apache2

 

标签:https,etc,证书,apache2,ssl,ubunut,conf,apache
From: https://www.cnblogs.com/lisenMiller/p/17277890.html

相关文章

  • Android https忽略证书信任问题
    【第一部分,忽略证书信任问题】直接去第二部分性能问题搬运自:https://blog.csdn.net/lizeyang/article/details/18983843java程序在访问https资源时,出现报错sun.security......
  • HTTPS加密原理
    一、单向加密单向加密算法又叫做不可逆算法,就是明文被加密后,原则上是不能还原的;名称运行速度安全性MD5快中SHA-1慢高SHA-256更慢更高//h......
  • HTTP和HTTPS
    一、HTTP和HTTPS的基本概念HTTP超文本传输协议(HyperTextTransferProtocol)设计目的:提供一种发布和接受HTML页面的方法HTTP是以明文方式发送信息,不安全。HTTP原理:通......
  • Tomcat 入门实战(3)--Https 配置
    本文主要介绍如何在Tomcat中配置Https,文中所使用到的软件版本:Centos7.9.2009、Java1.8.0_321、Tomcat8.5.84。1、TomcatSSL实现Tomcat有三种SSL的实现:JSSE......
  • termux安装apache2+php
    termux安装apache2+php使用命令开启存储权限termux-setup-storagetermux需要开启内存卡/sdcard或者/storage/emulated/0存储termux的前缀变量$PREFIX指向/da......
  • 聊聊Python中的GIL https://www.cnblogs.com/ArsenalfanInECNU/p/9968621.html
    抄自:https://www.cnblogs.com/ArsenalfanInECNU/p/9968621.htmlGIL的全称是GlobalInterpreterLock,全局解释器锁。因为Python的执行依赖于解释器。Python最初的设计理......
  • 项目http请求部署到线上被自动转换为了https请求导致获取不到资源
    静态资源路径应该是http开头,访问的时候变成了https开头,导致找不到资源。原因是index.html的一项默认配置,注释掉就好了......
  • HTTPS对性能的影响、HTTPS常见问题
    HTTPS对性能的影响协议交互所增加的网络RTT加解密相关的计算耗时网络耗时 HTTPS的访问过程  计算耗时浏览器计算耗时服务器端计算耗时HTTPS常见问题https加......
  • HTTPS协议概述、HTTPS使用成本
    HTTPS协议概述 HTTPS可以认为是HTTP+TLSTLS是传输层加密协议,它的前身是SSL协议  HTTPS功能介绍内容加密1、非对称密匙交换2、对称内容加密身份认证1、......
  • apache2.2 + tomcat 6 集群
    APACHE2.2.8+TOMCAT6.0.14配置负载均衡目标:使用apache和tomcat配置一个可以应用的web网站,要达到以下要求:1、 Apache做为HttpServer,后面连接多个tomcat应用......