LAMP下HTTPS配置「建议收藏」

LAMP下HTTPS配置「建议收藏」LAMP下HTTPS配置    LAMP下配置HTTPS非常简单,本文主要介绍ubuntu下apache配置https的具体步骤和流程,证书为服务器生成的本地证书,希望对大家有所帮助。证书:本地生成apache版本:Apache/2.4.7(Ubuntu)系统:Ubuntu14.04一、安装Apache$sudoapt-getinstallapache2使用此方式安装的APACHE,配置比…

大家好,又见面了,我是你们的朋友全栈君。

LAMP下HTTPS配置

    LAMP下配置HTTPS非常简单,本文主要介绍ubuntu下apache配置https的具体步骤和流程,证书为服务器生成的本地证书,希望对大家有所帮助。

  • 证书:本地生成
  • apache版本:Apache/2.4.7 (Ubuntu)
  • 系统:Ubuntu14.04

一、安装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

运行后需要重启Apache服务。

    四、创建证书

x509证书一般会用到三类文件,key,csr,crt。

Key 是私用密钥,通常是rsa算法。

Csr 是证书请求文件,用于申请证书。在制作csr文件的时,必须使用自己的私钥来签署申,还可以设定一个密钥。

crt是CA认证后的证书文,(windows下面的,其实是crt),签署人用自己的key给你签署的凭证。 

1.key的生成 

openssl genrsa -des3 -out server.key 2048 

这样是生成rsa私钥,des3算法,openssl格式,2048位强度。server.key是密钥文件名。为了生成这样的密钥,需要一个至少四位的密码。可以通过以下方法生成没有密码的key:

openssl rsa -in server.key -out server.key 

server.key就是没有密码的版本了。 

 

2. 生成CA的crt

openssl req -new -x509 -key server.key -out ca.crt -days 3650 

生成的ca.crt文件是用来签署下面的server.csr文件。 

 

3. csr的生成方法

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

需要依次输入国家,地区,组织,email。最重要的是有一个common name,可以写你的名字或者域名。如果为了https申请,这个必须和域名吻合,否则会引发浏览器警报。生成的csr文件交给CA签名后形成服务端自己的证书。 

 

4. crt生成方法

CSR文件必须有CA的签名才可形成证书,可将此文件发送到verisign等地方由它验证,要交一大笔钱,何不自己做CA呢。

openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt

输入key的密钥后,完成证书生成。-CA选项指明用于被签名的csr证书,-CAkey选项指明用于签名的密钥,-CAserial指明序列号文件,而-CAcreateserial指明文件不存在时自动生成。

最后生成了私用密钥:server.key和自己认证的SSL证书:server.crt

证书合并:

cat server.key server.crt > server.pem

五、编辑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.conf

HTTPS监听端口缺省443:

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

01 NameVirtualHost *:443
02  
03 <VirtualHost *:443>
04 SSLEngine on
05 SSLCertificateFile /etc/apache2/ssl/apache.pem
06 ServerAdmin webmaster@localhost
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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/134986.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Unity3D游戏引擎最详尽基础教程

    Unity3D游戏引擎最详尽基础教程转自:http://blog.sina.com.cn/s/blog_7c336a8301013son.html我一直向所有想做游戏的朋友推荐Unity3D,为什么呢?首先是因为专业,Unity3D非常强大,用它创建一个类似MiniGore这样的3D平面射击游戏简直轻而易举,而就连使命召唤这样的大型3d游戏,如果素材得当也不在话下。二是因为易用,他的操作非常容易,而使用的脚本语言又是JavaSc

    2022年4月30日
    92
  • 易语言解析html实例,易语言解析JSON教程

    易语言解析JSON教程本文由applek于2015-7-717:25发布在易语言教程现在很多数据都是为json返回,如果用正则的话显得太麻烦,下面果核源码网就带来json解析教程首先需要用到工具:精易模块3.6以上版本:json解析工具:首先我们要有一段json,这儿拿QQ留言json测试。下载地址:下面将代码复制到工具,如图所示然而右边并没有解析出来原因是这个不是标准的json,标…

    2022年4月9日
    533
  • mysql数据库备份方法有几种_MySQL几种方法的数据库备份

    mysql数据库备份方法有几种_MySQL几种方法的数据库备份MySQL有几个方法来备份最近博客一直想写点。可是不知道写什么,感觉自己近期的知识没有什么添加,今天想到了一篇能够写的博客。曾经试过依据data目录备份MySQL。可是从来没有成功过。前几天帮助朋友还原MySQL,最终成功的将备份的data目录还原成功了。MySQL数据库算是经常使用的数据库中最好使用的数据库了,对于备份的操作也不例外。所以今天分享一下MySQL数据库的备份的几种方式。方式一:使用…

    2022年5月14日
    46
  • leetcode-792匹配子序列的单词数(桶)

    leetcode-792匹配子序列的单词数(桶)原题链接给定字符串 S 和单词字典 words, 求 words[i] 中是 S 的子序列的单词个数。示例:输入: S = “abcde”words = [“a”, “bb”, “acd”, “ace”]输出: 3解释: 有三个是 S 的子序列的单词: “a”, “acd”, “ace”。注意:所有在words和 S 里的单词都只由小写字母组成。S 的长度在 [1, 50000]。words 的长度在 [1, 5000]。words[i]的长度在[1, 50]。题解暴力

    2022年8月8日
    2
  • 计算机编程原理_如何编程

    计算机编程原理_如何编程一、Socket简介Socket是进程通讯的一种方式,即调用这个网络库的一些API函数实现分布在不同主机的相关进程之间的数据交换。几个定义:(1)IP地址:即依照TCP/IP协议分配给本地主机的网络地址,两个进程要通讯,任一进程首先要知道通讯对方的位置,即对方的IP。(2)端口号:用来辨别本地通讯进程,一个本地的进程在通讯时均会占用一个端口号,不同的进程端口号不同,因此在通

    2022年10月17日
    8
  • 阿里云轻量服务器开放指定端口吗_阿里云服务器怎么远程连接

    阿里云轻量服务器开放指定端口吗_阿里云服务器怎么远程连接第一次使用云服务暴露端口,踩了一些坑总结一下整个过程首先要在防火墙中添加对应端口,然后,进入安全组添加指定的端口,才算完成整个设置一、防火墙设置1、进入服务器选择防火墙,点击“添加规则”2、输入指定端口号,协议选择TCP就行,完成后点击确定二、在安全组中添加端口1、如果没有安全组时点击“创建安全组”,有则点击“配置规则”2、点击“手动添加”3、输入对应的端口号、源地址,点击保存整个设置过程就是这样,整个设置很简单,但是要是漏掉一个环节对新手来也是麻烦的…

    2022年10月2日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号