ubuntu apache2 ssl配置

Ubuntu下HTTPS配置非常简单,对大部分用户而言,使用普通的自签名证书,只需按照步骤进行就可以了,无需了解密钥、证书的更多知识,更深的背景 知识还有RSA算法、DES算法、X509规范、CA机构...等等,随便哪个方向都够学习一阵子的,所幸的是有了OpenSSL、OpenSSH等这些 开源免费的软件,把很多底层的算法、规范都集成了,对上层应用而言,只需一二三操作即可,至多到官网去查查一些特殊的命令集。

一、安装Apache

$sudo apt-get install apache2

使用此方式安装的APACHE,配置比较分散,一般如下:

  • 默认站点在 /var/www/
  • 配置文件在 /etc/apache2/
  • 日志在 /var/log/apache/
  • 启动脚本是 /usr/bin/apache2ctl 或者 /etc/init.d/apache2

二、安装openssl

Ubuntu默认已经安装了OPENSSL,如果没安装,

$sudo apt-get install openssl

三、开启SSL模块

$sudo a2enmod ssl

这条命令相当于
sudo ln -s /etc/apache2/mods-available/ssl.load /etc/apache2/mods-enabled
sudo ln -s /etc/apache2/mods-available/ssl.conf /etc/apache2/mods-enabled

如果没有a2enmod指令,也可直接在apache2.conf中设置SSL模块加载:

LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so

四、创建证书

创建证书有两种:一种是自签名证书,另外一种是第三方CA机构签名证书。第一种随便使用,只是没有经过官方认可的机构认证而已,后一种则是正规的签名证
书,有发证机构签名。其实很多所谓的大网站上使用的SSL证书,一样都是自签名的,主要是因为这个证书只做为在线验证使用,保证传输数据安全即可,不过使
用这种证书,对常规浏览器和一些软件而言,一般均会弹出警告,让你确认这个签名证书的有效性。正规签名证书也不过只是多了一重保障而已,而且浏览器、软件
等可以自己鉴别。

1、自签名证书

可使用apache内置的工具创建默认的自签名证书,通过-days参数指定有效期。

$sudo apache2-ssl-certificate

注意:上述命令可能在最新的apache中默认未安装,如果使用的是LAMP套件,一般会有这个模块。

不过我们还可以使用openssl命令(如果openssl是自编译安装的,没有注册该命令的话,可以使用绝对路径,比如类似/usr/local/openssl/openssl这样)创建:

1 $sudo openssl
req -x509 -newkey rsa:1024 -keyout apache.pem -out apache.pem -nodes -days 999
2  
3 Country
Name (2 letter code) [AU]:CN
4 State or Province
Name (full name) [Some-State]:SH
5 Locality
Name (eg, city) []:SH
6 Organization
Name (eg, company) [Internet Widgits Pty Ltd]:ABC
7 Organizational
Unit Name (eg, section) []:RD
8 Common
Name (eg, YOUR name) []:myservername
9 Email
Address []:[email protected]

注意:在要求输入Common Name (eg, YOUR name) 时,输入你的主机名(授权主机)。

创建完成后,当前目录下有个apache.pem文件,已经包含密钥和证书。可以把这个证书拷贝到/etc/apache2/下创建一个ssl目录然后拷贝到:

/etc/apache2/ssl/apache.pem

2、第三方CA机构签署证书

生成此证书,需要向第三方提交一个“生成证书请求文件(CSR)”,生成这个CSR需要两步:

  • 生成私钥KEY
  • 生成请求CSR

A、运行如下命令生成私钥:

01 [[email protected]
tmp]#  openssl genrsa -des3 1024 -out server.key
02 Generating
RSA 
private key,
1024 bit long modulus
03 ...++++++
04 .......................................................++++++
05 e
is 65537 (0x10001)
06 Enter
pass phrase:
07 Verifying
- Enter pass phrase:
08 -----BEGIN
RSA PRIVATE KEY-----
09 Proc-Type:
4,ENCRYPTED
10 DEK-Info:
DES-EDE3-CBC,32BDD10A4F977F7E
11  
12 A7FOhETnGpQnRcCoe1VtOtb8yq12xi6ljq/6wYB6MsGGdGjhftF1FxnSMd9Jx4o2
13 gjyUJNQs4zYkrtAaY6WYdOMiswymxiSYlKnX3l3uA6d6NqUpoyFxN7mgxqvbrdjq
14 EaGSLo1d63B6THIq9mOGNm3l1xKtiUZVwHqVaHdb1F/RD6YshwE9yE5bAXjKJKat
15 sTewoVPxj0bjEDBz49K4m+epUrh7UQ7ZyjMiefvCgg0OxFB3H8zdG0SHa1sV4fG4
16 9R+4PPoIIlLty4oyAYRwNVUWV47qGV4Jub11s50azVwtS9CV31HZQt48zkcUZ9WF
17 2PBRQ3c4AMkewzfvjEUIF7bfHcBMl9ugu4fZfJTUxJbA4vHvoVczXhvcTaf6awHn
18 4YpEX/T3xWE8ObyOjvVh5Utl39INOqzxVKGoZF1ogLFm60SokYx0r+Y19jrz2084
19 Nri4mHlYNymY+tviTFUUIHZ+8FRnkq0vnW68ejiSzG0Xyr2DDzc7pi6J58bqQ3yR
20 eNJuK8KVjXxkRn1HXtGL/C6ZpJ4qs6VVzX291vPrr7luWrXGsAcRudLWRFZDSoUB
21 lFw1CY9ol2TOX2mvt6JryhoH08x3s2prlIen10N35sVELB/nb1/8kkpztCbPHiA/
22 IH2A3g/WexCAatmCMuqlxW8Cwe98AUZduuZsAZeDoyXk7VxD7YhPKZmKPKOx3gZv
23 2S1ZpzsNgZh9HhpXsRxjwbYnyICtcUY+dQZXk1w//BP2syjcffXqqhp2FPK3SG7l
24 PsvHIWQGeTUe5uILP7S/Bbi/KrFAkDguGJHge0mmHgL9gi8RvODtKQ==
25 -----END RSA
PRIVATE KEY-----
26 [[email protected]
tmp]#

这里使用了-des3参数,将会需要输入一个密码对私钥进行加密,每次使用此私钥也需要输入此密码,如不需对私钥加密请不要使用-des3选项。输入两次密码后,将会生成server.key私钥文件。

B、生成请求文件

运行如下命令生成证书请求文件(CSR)

openssl req -new -key server.key –out server.csr

把这个CSR文件传给CA机构,然后他们会使用此请求文件生成证书。

五、编辑HTTPS(SSL)配置

A、添加监听端口

编辑Apache端口配置(/etc/apache2/ports.conf),加入443端口(SSL缺省使用):

Listen 80

Listen 443

B、设置site-enabled

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

ln -s /etc/apache2/sites-available/default-ssl /etc/apache2/sites-enabled/001-ssl

C、修改配置文件

确认HTTP监听端口改为80

#vi /etc/apache2/sites-enabled/000-default

1 NameVirtualHost
*:80
2  
3 ServerAdmin
[email protected]
4 #[......]

HTTPS监听端口缺省443:

把端口改为443,在<Virtualhost>下加入SSL认证配置,其它的根据需要自己定制 与普通配置无异:

#vi /etc/apache2/sites-enabled/001-ssl

01 NameVirtualHost
*:443
02  
03 <VirtualHost
*:443>
04 SSLEngine
on
05 SSLCertificateFile
/etc/apache2/ssl/apache.pem
06 ServerAdmin
[email protected]
07 DocumentRoot
/
var/www
08 ServerName
myServerName
09 <Directory
/>
10 Options
FollowSymLinks
11 AllowOverride
All
12 </Directory>
13 <Directory
/
var/www/>
14 Options
FollowSymLinks MultiViews
15 AllowOverride
None
16 Order
allow,deny
17 allow
from all
18 #
This directive allows us to have apache2‘s 
default start
page
19 #
in /apache2-
default/,
but still have / go to the right place
20 #RedirectMatch
^/$ /apache2-
default/
21 </Directory>

六、重启APACHE

# service httpd restart

或,

# /etc/init.d/apache2 restart

时间: 2025-01-01 23:19:43

ubuntu apache2 ssl配置的相关文章

ubuntu apache2的配置

近日,使用apache2来做个网站,也在自己的开发电脑上把常用的组件说明文档,以网站的形式查看,本着此目的,纪录了本文章. 一.安装apache2: sudo apt-get install apache2 二.查看目录结构 # /etc/apache2/ # |-- apache2.conf # | `--  ports.conf # |-- mods-enabled # | |-- *.load # | `-- *.conf # |-- conf-enabled # | `-- *.conf

ubuntu下apache2 安装 配置 卸载 CGI设置 SSL设置

一.安装.卸载apache2 apache2可直接用命令安装 sudo apt-get install apache2 卸载比较麻烦,必须卸干净,否则会影响apache2再安装 (1) sudo apt-get --purge remove apache2 sudo apt-get --purge remove apache2.2-common sudo apt-get autoremove (2) (关键一步)找到没有删除掉的配置文件,一并删除 sudo find  /etc -name "*

apache2优化配置总结

apache2优化配置总结 运行和测试环境 Ubuntu server 12.04 LTS 配置参数调整 配置文件 一般在/etc/apache2/下    apache2.conf       conf.d/secrity     default.conf  下面我写到的配置参数都存在在这几个文件中 1.hostnamelookups  off 域名查找 开启这个会增加AP的负担, 减慢访问速度 建议关闭 2. sethandler server-status 关闭这个否则暴露信息. 3.al

linux Ubuntu apache2 伪静态设置

Ubuntu Apache 伪静态配置 url重写 步骤:1.加载rewrite模块sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load 2.将您的主机的<Directory></Directory>中的AllowOverride None改为AllowOverride All (我这边是/etc/apache2/apache2.conf) 3.在你的网站

OpenStack Grizzly版本(Ubuntu 12.04)配置

1.     我们在一天VMware虚拟机上(双网卡)使用Ubuntu 12.04.1 和 OpenVSwitch 1.4.6 来搭建OpenStack的Grizzly版本的平台. 由于OpenVSwitch的版本对Ubuntu系统的内核版本有依赖,建议在安装前请确认二者之间是否兼容.无论是在物理机器中还是VMware 中配置,都需要开启CPU 的虚拟化(Intel VT-x/EPT 或AMD-V/RVI(V).OpenStack-Grizzly-Install-Gui...11.0 KB 2.

ubuntu下nagios配置

参考文献: http://www.cnblogs.com/mchina/archive/2013/02/20/2883404.html http://my.oschina.net/duangr/blog/183160 设定文件权限 chown -R nagios.nagios envision_* chown -R nagios.nagios envision_* 1.创建用户并设定密码 # useradd -s /sbin/nologin nagios 修改nagios密码 sudo pass

ubuntu apache2 虚拟主机服务

ubuntu apache2 虚拟主机服务 本次配置的是一个 ip 对应多个 虚拟主机 1:先检查 ubuntu server 是否已经安装了 apache2 web服务: apache2 -v 看到上图即表示已经已经安装,如果没有安装!先安装 sudo apt-get install apache2 安装成功之后:先开启默认的网站,测试一下 sudo service apache2 start 在浏览器里面输入:127.0.0.1即可看到默认网站 2:配置虚拟主机 www.test.com 先

虚拟主机的搭建(ubuntu+apache2)

搭建环境:windows+VMware(Ubuntu)+apache2.(同一IP,不同域名) 1:在VMware的虚拟机Ubuntu下安装apache2(怎么安装百度一下就能找到): 2: apache2的相关配置文件在/etc/apache2下 apache2.conf 是全局配置文件,也是主配置文件 conf.d 一般性的配置 envvars 存放环境变量 httpd.conf 用户配置文件 mods-available 已安装的可用模块 mods-enabled 已启用的模块 ports

Ubuntu 服务器中配置 AWStats

AWStats 是一个开源的网站分析报告工具,可以生成强大的网站.流媒体.FTP 或邮件服务器的访问统计图.此日志分析器以 CGI 或命令行方式进行工作,并在网页中以图表的形式尽可能的显示你日志中所有的信息.它可以"部分"读取信息文件,以便能够频繁并快速处理大量的日志文件.它支持绝大多数 Web 服务器日志文件格式,包括 Apache,IIS 等. 安装 AWStats 包 默认情况下,AWStats 的包可以在 Ubuntu 仓库中找到. 可以通过运行下面的命令来安装: sudo a