免费https

文本摘要:https://www.xiaoyun.studio/article/https.html

免费HTTPS

Let‘s Encrypt是一个免费SSL证书发行项目,发行的证书已经获得主流浏览器的支持

本文讲解如何使用Let‘s Encrypt获得免费SSL证书,配置apache的SSL功能,并将请求转发到tomcat

大致思路如下:

  • 1.使用Let‘s Encrypt获得SSL证书
  • 2.开启apache的SSL功能,用户请求首先到apache,使用http协议或者https协议
  • 3.apache将请求转发到tomcat上,使用http协议或者ajp协议

这样做的原因有以下几点:

  • 1.我的网站是java编写的,需要一个类似于tomcat的servlet容器
  • 2.虽然tomcat也支持ssl,但Let‘s Encrypt原生支持apache,所以在apache上配置ssl比较简单
  • 3.apache处理静态资源的能力 比tomcat好
  • 4.可以配置多个tomcat实现负载均衡,可以在不终止服务的情况下重启tomcat

一、安装Let‘s Encrypt

Let‘s Encrypt的项目主页是https://github.com/certbot/certbot ,可以使用git下载,也可以到主页直接下载ZIP压缩包

进入文件夹中,执行如下命令,之后Let‘s Encrypt会安装一些软件

./letsencrypt-auto --help

二、安装apache

yum install httpd//在centos7中安装apache的命令
yum install mod_ssl//在centos7中安装apache的ssl模块
sudo apt-get install apache2//在ubuntu中安装apache

三、安装tomcat

到官网下载一个tomcat,解压就能用,当然先要装jre

四、配置apache

我安装的版本是2.4.6,这个版本的配置和其它版本不太一样

在centos7中apache配置文件的路径是/etc/httpd/conf/httpd.conf , ssl模块的配置文件的路径是/etc/httpd/conf.d/ssl.conf

在ubuntu中apache配置文件的路径是/etc/apache2/apache2.conf

修改httpd.conf文件

添加如下代码,功能是将http协议的请求自动跳转到https协议

RewriteEngine on
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

修改ssl.conf文件

将Listen 443 https 删掉,不然会和后边的虚拟主机配置冲突

将<VirtualHost *:443>标签中#ServerName www.example.com:443 前边的#去掉,域名改为自己的域名,Let‘s Encrypt生成的证书就是绑定这个域名的,我试过改成ip后,Let‘s Encrypt不支持

在<VirtualHost *:443>标签中添加以下代码, 功能是将所有请求转发到tomcat服务器 ,这里用的是ajp协议,如果想用http协议,将ajp改为http,8009改为8080

ProxyVia On
ProxyRequests Off
ProxyPass / ajp://127.0.0.1:8009/
ProxyPassReverse / ajp://127.0.0.1:8009/
<Proxy *>
  Require all granted
</Proxy>
<Location />
  Require all granted
</Location>

配置文件改好后,使用httpd -t命令检查配置文件是否有错误,没错误的话,就可以使用service httpd start启动服务

启动服务的时候还出了一个错误:AH00558: httpd: Could not reliably determine the server‘s fully qualified domain name, 将httpd.conf中#ServerName localhost:80的#去掉,localhost改为实际的ip就好了

五、生成证书

Let‘s Encrypt支持3种认证方式

--apache Use the Apache plugin for authentication & installation

--standalone Run a standalone webserver for authentication

--webroot Place files in a server‘s webroot folder for authentication

这里使用apache的认证方式,命令如下,

./letsencrypt-auto --apache --apache-le-vhost-ext /etc/httpd/conf.d/ssl.conf --register-unsafely-without-email

--apache-le-vhost-ext参数指定配置虚拟主机的配置文件;--register-unsafely-without-email参数是忽略邮箱,如果没有这个参数, Let‘s Encrypt会要求输入邮箱,我输入foxmail邮箱,却提示无效,不知道为什么 证书生成后会放在/etc/letsencrypt/live/www.example.com/目录中,Let‘s Encrypt会自动修改ssl.conf文件,关联证书

六、运行apache、tomcat

运行tomcat并输出日志

cd /etc/tomcat
sh bin/startup.sh;tail -f logs/catalina.out

运行apache

service httpd start
				
时间: 2024-10-13 23:27:21

免费https的相关文章

为微信小程序开发做准备,在Centos 6.8下利用letsencrypt.sh脚本为nginx 配置免费https证书

原文链接: http://phpecshop.blog.51cto.com/6296699/1891737 最近在做微信小程序商城开发的时候,阅读官方api文档发现要求https,的路程. wx.request(OBJECT) wx.request发起的是 HTTPS 请求. 于是开始了在Centos 6.8下利用letsencrypt.sh脚本为nginx 配置免费https(Let's Encrypt SSL证书) 1.下载letsencrypt.sh # wget https://raw.

Let&#39;s Encrypt+Apache+Tomcat实现免费HTTPS

Let's Encrypt是一个免费SSL证书发行项目,发行的证书已经获得主流浏览器的支持,亲测谷歌浏览器(桌面版).火狐浏览器(桌面版).UC浏览器(手机版).360浏览器(手机版)支持,其它的暂没测试: 本文讲解如何使用Let's Encrypt获得免费SSL证书,配置apache的SSL功能,并将请求转发到tomcat 大致思路如下: 1.使用Let's Encrypt获得SSL证书 2.开启apache的SSL功能,用户请求首先到apache,使用http协议或者https协议 3.ap

let&#39;s encrypt生成免费https证书 ubuntu+tomcat+nginx+let&#39;s encrypt

1. 下载let's encrypt $ sudo add-apt-repository ppa:certbot/certbot $ sudo apt-get update $ sudo apt-get install certbot 2. 生成密钥,调用之前需要停止nginx certbot certonly --standalone -d www.域名1.com -d www.域名2.com 生成成功,提示如下 IMPORTANT NOTES: - Congratulations! Your

@IM网站记录(一) =》免费https证书

@IM是为了方便印象搜索网盘 而开发的及时通讯系统.现在准备开辟一个专栏来写我在开发此网站遇到的点点滴滴.这是第一篇:免费https证书. 免费https证书网上一搜,基本上就定位Start SSL这个https证书服务提供商,主要根据下面这边博客来申请证书: http://www.freehao123.com/startssl-ssl/ 根据博客指引,申请下来证书,主要包括两个文件: im.impress-ssl.key im.impress-ssl.crt 申请下来的 im.impress-

免费 Https 证书(Let&#39;s Encrypt)申请与配置

之前要申请免费的 https 证书操作步骤相当麻烦,今天看到有人在讨论,就搜索了一下.发现现在申请步骤简单多了. 1. 下载 certbot git clone https://github.com/certbot/certbot cd certbot ./certbot-auto --help 解压打开执行就会有相关提示 2. 生成免费证书 ./certbot-auto certonly --webroot --agree-tos -v -t --email 邮箱地址 -w 网站根目录 -d

nginx安装Lets Encrypt SSL免费HTTPS加密证书

Linux Nginx网站:Certbot安装配置Lets Encrypt SSL免费HTTPS加密证书 原文地址:https://renwole.com/archives/157 实验环境:CentOS Linux release 7.2内核版本:Linux version 3.10.0-514.26.2.el7.x86_64Nginx版本: Nginx-1.13.0 Let's Encrypt是一个免费的.自动化.开放的证书颁发机构.由Mozilla.Cisco.Chrome.faceboo

生成 Let&#39;s Encrypt 免费https证书

1.打开 SSL For Free 官网:https://www.sslforfree.com/ 2.在输入框内输入你要申请证书的域名,输入完点击 Create Free SSL Certificate 3.如果你是申请的是一级域名直接输入你的域名即可不用加 WWW 系统会自动给你申请带WWW和不带WWW的域名 4.域名输入完后系统会提示你要验证你的域名使用权,提供3种验证方式: a.Automatic FTP Verification (FTP账户验证,输入你对应网站的FTP信息,系统会上传一

startssl 免费https服务

startssl免费3年的https服务 在线聊天的话 每天下午5点之前都是中文客服可以中文交流,其他时间英文客服,英国公司的,一次可以最多9个域名 对应一个证书. 用域名的邮箱去验证 然后自己生成csr和key  把csr的头尾部去掉 复制进去 startssl就可以生成证书 然后下载 放在nginx的目录下 server { listen 80; listen 443; server_name brzy.qq.com; index index.html index.htm index.php

在阿里云里申请免费Https证书SSL

在阿里云控制台:安全(云盾)->证书服务->购买证书里(地址:https://common-buy.aliyun.com/?spm=5176.2020520163.cas.1.zTLyhO&commodityCode=cas#/buy)  选择免费的证书类型完成购买 免费购买完成后,在订单里不去信息,输入需要使用Https服务的详细子域名,填写个人信息 完成信息后,接下来就是等待审批结果了,审批通过后,下载, 根据自己服务器的实际情况 ,选择相应类型,完成安装,我的是windows s