Ubuntu下APACHE HTTPS安装和配置
|
转载:http://www.metsky.com/archives/561.html Ubuntu下HTTPS配置非常简单,对大部分用户而言,使用普通的自签名证书,只需按照步骤进行就可以了,无需了解密钥、证书的更多知识,更深的背景知识还有RSA算法、DES算法、X509规范、CA机构…等等,随便哪个方向都够学习一阵子的,所幸的是有了OpenSSL、OpenSSH等这些开源免费的软件,把很多底层的算法、规范都集成了,对上层应用而言,只需一二三操作即可,至多到官网去查查一些特殊的命令集。 一、安装Apache$sudo apt-get install apache2 使用此方式安装的APACHE,配置比较分散,一般如下:
二、安装opensslUbuntu默认已经安装了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套件,一般会有这个模块。 $sudo openssl req -x509 -newkey rsa:1024 -keyout apache.pem -out apache.pem -nodes -days 999 Country Name (2 letter code) [AU]:CN State or Province Name (full name) [Some-State]:SH Locality Name (eg,city) []:SH Organization Name (eg,company) [Internet Widgits Pty Ltd]:ABC Organizational Unit Name (eg,section) []:RD Common Name (eg,YOUR name) []:myservername Email Address []:test@gmail.com 注意:在要求输入Common Name (eg,YOUR name) 时,输入你的主机名(授权主机)。 2、第三方CA机构签署证书生成此证书,需要向第三方提交一个“生成证书请求文件(CSR)”,生成这个CSR需要两步:
A、运行如下命令生成私钥:[root@localhost tmp]# openssl genrsa -des3 1024 -out server.key Generating RSA private key,1024 bit long modulus ...++++++ .......................................................++++++ e is 65537 (0x10001) Enter pass phrase: Verifying - Enter pass phrase: -----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: DES-EDE3-CBC,32BDD10A4F977F7E A7FOhETnGpQnRcCoe1VtOtb8yq12xi6ljq/6wYB6MsGGdGjhftF1FxnSMd9Jx4o2 gjyUJNQs4zYkrtAaY6WYdOMiswymxiSYlKnX3l3uA6d6NqUpoyFxN7mgxqvbrdjq EaGSLo1d63B6THIq9mOGNm3l1xKtiUZVwHqVaHdb1F/RD6YshwE9yE5bAXjKJKat sTewoVPxj0bjEDBz49K4m+epUrh7UQ7ZyjMiefvCgg0OxFB3H8zdG0SHa1sV4fG4 9R+4PPoIIlLty4oyAYRwNVUWV47qGV4Jub11s50azVwtS9CV31HZQt48zkcUZ9WF 2PBRQ3c4AMkewzfvjEUIF7bfHcBMl9ugu4fZfJTUxJbA4vHvoVczXhvcTaf6awHn 4YpEX/T3xWE8ObyOjvVh5Utl39INOqzxVKGoZF1ogLFm60SokYx0r+Y19jrz2084 Nri4mHlYNymY+tviTFUUIHZ+8FRnkq0vnW68ejiSzG0Xyr2DDzc7pi6J58bqQ3yR eNJuK8KVjXxkRn1HXtGL/C6ZpJ4qs6VVzX291vPrr7luWrXGsAcRudLWRFZDSoUB lFw1CY9ol2TOX2mvt6JryhoH08x3s2prlIen10N35sVELB/nb1/8kkpztCbPHiA/ IH2A3g/WexCAatmCMuqlxW8Cwe98AUZduuZsAZeDoyXk7VxD7YhPKZmKPKOx3gZv 2S1ZpzsNgZh9HhpXsRxjwbYnyICtcUY+dQZXk1w//BP2syjcffXqqhp2FPK3SG7l PsvHIWQGeTUe5uILP7S/Bbi/KrFAkDguGJHge0mmHgL9gi8RvODtKQ== -----END RSA PRIVATE KEY----- [root@localhost tmp]# 这里使用了-des3参数,将会需要输入一个密码对私钥进行加密,每次使用此私钥也需要输入此密码,如不需对私钥加密请不要使用-des3选项。输入两次密码后,将会生成server.key私钥文件。 B、生成请求文件运行如下命令生成证书请求文件(CSR) openssl req -new -key server.key –out server.csr 五、编辑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 NameVirtualHost *:80 ServerAdmin webmaster@localhost #[......] HTTPS监听端口缺省443: #vi /etc/apache2/sites-enabled/001-ssl NameVirtualHost *:443 <VirtualHost *:443> SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.pem ServerAdmin webmaster@localhost DocumentRoot /var/www ServerName myServerName <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www/> Options FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all # This directive allows us to have apache2's default start page # in /apache2-default/,but still have / go to the right place #RedirectMatch ^/$ /apache2-default/ </Directory> 六、重启APACHE# service httpd restart 或, # /etc/init.d/apache2 restart 测试https://localhost/,IE会弹出security alert(安全警告),如下图: Firefox会提示是否添加Exception信息,如下图: 参考文章: (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Install nvidia-driver on ubuntu
- Ubuntu Server 16.04.1 LTS 使用手记
- Ubuntu 16.04安装sogou 拼音输入法
- ubuntu apt-get update失败
- Ubuntu 16.10在VMware 10.12上不兼容问题解决
- Ubuntu14.04 Terminal标签背景颜色设置
- 在Wndows上的Ubuntu上使用Bash启动MySQL
- Ubuntu 出现apt-get: Package has no installation candida
- ubuntu14.04系统中安装tensorflow(gpu版)
- Ubuntu 14.04远程登录服务器--ssh的安装和配置
