oneinstack如何安装ssl证书和配置Let's Encrypt免费SSL证书教程汇总(转)
OneinStack包含以下组合:
lnmp(Linux + Nginx+ MySQL+ PHP) LNMP安装SSL安全证书 部署HTTPS:https://www.gworg.com/ssl/309.html
lamp(Linux + Apache+ MySQL+ PHP) APACHE安装SSL证书:https://www.gworg.com/ssl/106.html
Apache自动跳转到 HTTPS:https://www.gworg.com/ssl/130.html
lnmpa(Linux + Nginx+ MySQL+ PHP+ Apache):Nginx处理静态,Apache(mod_php)处理动态PHP Nginx安装SSL证书:https://www.gworg.com/ssl/107.html
Nginx 自动跳转到HTTPS:https://www.gworg.com/ssl/167.html
lnmt(Linux + Nginx+ MySQL+ Tomcat):Nginx处理静态,Tomcat(JDK)处理JAVA
lnmh(Linux + Nginx+ MySQL+ HHVM)
LNMP安装SSL安全证书 部署HTTPS
第一步、部署HTTPS基础工作准备
选用正规的SSL域名证书
第二步、上传和部署SSL证书
A - 把上面的一个CRT一个KEY文件上传到VPS ROOT目录中,然后对应修改成SSL.CRT和SSL.KEY文件名,或者我们用作其他命令都可以。
B - 解密私钥和设置权限
openssl rsa -in ssl.key -out /root/ssl.key
chmod 600 /root/ssl.key
登录SSH,执行上述两行脚本,解密私钥和授权。
第三步、在LNMP环境部署站点SSL设置
我们需要在已有的LNMP添加了站点,然后在站点对应的CONF文件设置。
在"/usr/local/nginx/conf/vhost/"目录文件中,找到对应站点的conf文件,然后修改设置如下
server
{
listen 80;
listen 443 ssl;
#listen [::]:80;
ssl on;
ssl_certificate /root/ssl.crt;
ssl_certificate_key /root/ssl.key;
server_name gworg.com www.gworg.com;
上面的红色标注部分是我添加的,对应路径我们要与之前上传的CRT和KEY文件路径对应以及文件名不要搞错。
最后,我们重启LNMP,可以看到SSL证书生效,且HTTPS可以访问站点。
APACHE安装SSL证书
SSL从购买到安装分为一下步骤:
提交CSR & 使用自动生成CSR
验证域名所有权
签发证书
下载服务器证书
在我们网站购买的客户,下载Apache格式的证书
解压后应包含三个文件:
yourdomain.com.crt (服务器证书)
yourdomain.com.key (私钥文件)如果为空请将生成CSR时保存的私钥内容粘贴在文件中
yourdomain.com.ca-bundle (根证书链)
下面介绍如何安装Apache. 首要条件就是 apache 已经安装了 mod_ssl.so 模块 。
检测方法使用以下命令:
httpd -M | grep mod_ssl
如果有显示 mod_ssl.so 表示已经安装了apache模块。
CentOS/Redhat安装mod_ssl.so
yum install mod_ssl
Debian/Ubuntu
sudo a2enmod ssl
sudo service apache2 restart
Apache SSL配置
Listen 443 (如果配置已经存在就不要加)
LoadModule ssl_module modules/mod_ssl.so (如果配置已经存在就不要加)
NameVirtualHost *:443 (非必须,配置多个SSL站点会需要)
<VirtualHost *:443>
ServerName www.gworg.cn
ServerAlias gworg.cn
DocumentRoot /var/www/html
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCertificateFile /etc/ssl/server.crt
SSLCertificateKeyFile /etc/ssl/server.key
SSLCertificateChainFile /etc/ssl/server.ca-bundle
</VirtualHost>
以上只是SSL配置范例,尽量不要直接应用于生产环境,请根据80端口的站点配置修改。
证书可以放在其他位置,没有强制要求
ServerName 和 ServerAlias 需要修改
配置完成重启Apache使其生效.
service httpd restart
使用https://yourdomain.com 测试是否可以访问。
问题排查:
如果使用CDN(加速器),需要在CDN上面安装证书,国内免费加速的都不支持https(已知阿里云cdn支持)
检查443端口是否启动 使用下面命令 netstat -apnt | grep 443 (如果没有启动检查配置文件或者端口是否冲突)
443端口如果已经启动,但不能访问,请检查防火墙(或者安全狗) ,允许443端口.
linux iptables使用下面命令:
iptables -A INPUT -p tcp -m tcp --dport https -j ACCEPT
Apache自动跳转到 HTTPS
网站根目录新建 .htaccess
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L]
301跳转
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L]
</IfModule>
站点绑定多个域名,只允许www.gworg.com 跳转
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} ^example.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.example.com [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L]
###把网址更改为自己的###
高级用法 (可选)
RewriteEngine on
# 强制HTTPS
RewriteCond %{HTTPS} !=on [OR]
RewriteCond %{SERVER_PORT} 80
# 某些页面强制
RewriteCond %{REQUEST_URI} ^something_secure [OR]
RewriteCond %{REQUEST_URI} ^something_else_secure
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
# 强制HTTP
RewriteCond %{HTTPS} =on [OR]
RewriteCond %{SERVER_PORT} 443
# 某些页面强制
RewriteCond %{REQUEST_URI} ^something_public [OR]
RewriteCond %{REQUEST_URI} ^something_else_public
RewriteRule .* http://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
OneinStack一键包快速自动配置Let's Encrypt免费SSL证书方法
如果我们不想购买付费SSL证书的话,选择和使用Let's Encrypt免费SSL证书应该算是目前比较优先的选择,虽然每隔90天需要重新激活续约一次,但是如果设定好自动续约问题也不是很大,而且兼容支持的浏览器算是比较齐全的,老左也看到不少的优秀网站也有在使用。
老左在前面一篇"LNMP V1.4一键快速部署Let's Encrypt免费SSL证书"文章中可以看到今年儿童节将会出来的正式版LNMP将会可以一键部署Let's Encrypt证书。同时,最近一年中用户较多的OneinStack一键包也是支持一键快速部署Let's Encrypt免费SSL证书的,老左将在这篇文章中记录我们如何用OneinStack一键包安装部署Let's Encrypt。
第一、OneinStack安装Let's Encrypt证书准备工作
1、我们当前服务器需要部署好OneinStack一键包,如果没有部署则需要参考这篇文章自动部署。
2、我们需要在配置好的环境中,再单独安装Let's Encrypt客户端,要不我们无法自动获取Let's Encrypt安装选项。
./addons.sh
我们只有安装好客户端后才可以添加站点的时候出现Let's Encrypt选项。
3、我们需要先将域名解析到当前服务器,这样安装证书配置时候会检测域名所有权。
第二、OneinStack添加站点自动配置Let's Encrypt
1、基本的站点部署参数设置
./vhost.sh
我们用正常添加站点的命令进行站点部署配置参数。
2、配置SSL证书
因为我们开始的时候安装了客户端,所以在这里可以看到有Let's Encrypt选项,我们只要 解析过来域名,这里一般没有问题,邮箱我们可以随便填写一个自己的。后面还有几个网站参数,比如日志、伪静态规则等,我们正常配置即可。
3、安装成功
看到这样的界面,理论上是可以成功安装SSL。我们可以简单的丢一个页面到网站目录下,然后看看HTTPS是不是强制跳转过去。这个时候我们只要配置网站或者搬迁网站修改指向即可。
第三、关于Let's Encrypt自动续约问题
老左看到自动部署SSL之后,也自动添加续约脚本。前提是我们的服务器要安装好crontab,如果没有安装则需要自己先安装,要不部署不到。
第四、OneinStack一键包配置Let's Encrypt小结
1、我们在OneinStack环境中配置Let's Encrypt证书还是比较简单的,前提是我们要安装Let's Encrypt客户端后再添加站点才有选项。
2、缺点就是我们站点要开始添加的时候才可以自动部署选择Let's Encrypt安装,如果是已有站点,则不可以自动单独配置。
oneinstack如何安装ssl证书和配置Let's Encrypt免费SSL证书教程汇总(转)的更多相关文章
- Ubuntu16 nginx 配置 Let's Encrypt 免费ssl
每篇一句 Some of us get dipped in flat, some in satin, some in gloss. But every once in a while you find ...
- LNMP安装Let’s Encrypt 免费SSL证书方法:自动安装与手动配置Nginx
前几天介绍了最新StartSSL免费SSL申请与配置,很多人看到部落介绍SSL证书安装时总是推荐了OneinStack,因为OneinStack提供了一键添加和配置Let's Encrypt 免费SS ...
- windows server使用 LetsEncrypt-Win-Simple来安装和使用用Let's Encrypt免费SSL证书
一.网站部署 LetsEncrypt-Win-Simple可以自动发现已经部署的网站供我们选择要生成证书的网站,而且还需要进行验证.所以在生成证书之前,确保网站已经部署好并可以正常访问. 二.生成证书 ...
- Let's Encrypt 免费SSL证书
Let's Encrypt免费又好用的证书,废话不多说. 假设我的域名为:163.org 1.克隆代码 git clone https://github.com/letsencrypt/le ...
- LNMP V1.4一键快速部署Let's Encrypt免费SSL证书
老左年前在"军哥LNMP V1.4测试版一键脚本安装以及功能上的升级体验"已经简单的体验到目前还没有正式版本的V1.4版本,理论上会在今年儿童节正式上线.从体验和实际的版本变动文档 ...
- ubuntu 下获取Let's Encrypt免费ssl证书
# ubuntu 下获取Let's Encrypt免费ssl证书 # 一.安装Nginx https://www.cnblogs.com/watermeloncode/p/15476317.html ...
- 全民https时代,Let's Encrypt免费SSL证书的申请及使用(Tomcat版)
近几年,在浏览器厂商的强力推动下,HTTPS的使用率大增.据统计,Firefox加载的网页中启用HTTPS的占比为67%,谷歌搜索结果中HTTPS站点占比已达50%,HTTPS网站已获得浏览器和搜索引 ...
- 全部用startssl生成的证书,配置Apache使其支持SSL
Apache的编译安装见这篇: http://www.cnblogs.com/yjken/p/3921840.html 网上查阅了一大批资料,得知自己生成的证书是会被浏览器提示“证书不安全”的,我也就 ...
- Apache环境服务器配置Let's Encrypt免费SSL证书及自动续期方法
如今越来越多的网站开始使用SSL证书,实现HTTPS网址形式,如果我们是英文网站更需要用到这样格式的HTTPS网址,因为根据谷歌搜索结果提示到如果用到SSL证书的在同等条件下排名结果是有靠前可能的.我 ...
随机推荐
- Spark记录-spark-env.sh配置
环境变量 含义 SPARK_MASTER_IP master实例绑定的IP地址,例如,绑定到一个公网IP SPARK_MASTER_PORT mater实例绑定的端口(默认7077) SPARK_MA ...
- windows上使用mkdocs搭建静态博客
windows上使用mkdocs搭建静态博客 之前尝试过用HEXO搭建静态博客,最近发现有个叫mkdocs的开源项目也是搭建静态博客的好选择,而且它支持markdown格式,下面简要介绍一下mkdoc ...
- 22. SpringBoot 集成 Mybatis
1. 引入Mybatis的maven 依赖 <dependency> <groupId>org.mybatis.spring.boot</groupId> < ...
- tensorflow神经网络拟合非线性函数与操作指南
本实验通过建立一个含有两个隐含层的BP神经网络,拟合具有二次函数非线性关系的方程,并通过可视化展现学习到的拟合曲线,同时随机给定输入值,输出预测值,最后给出一些关键的提示. 源代码如下: # -*- ...
- deepin下codeblocks更改调试终端
codeblocks建立控制台程序生成完毕后,发现自带的调试终端xterm不能进行复制粘贴操作参考了Ubuntu的更换调试终端的方法,就是把deepin下的deepin-terminal 用作调试终端 ...
- Centos7编译hadoop异常:Received fatal alert: handshake_failure
保持网络畅通 或者 配置代理 能够访问cdh的仓库 https://repository.cloudera.com/artifactory/cloudera-repos/ 编译hadoop版本 had ...
- 关于cc -o命令
这个命令很灵活,格式是: cc -o 目标二进制可执行文件 文件1 文件2 文件3 ..... 其中目标文件后面的文件,可为源代码,也可为二进制文件,也可为库文件 比如: //a.c #include ...
- JavaScript学习 - 基础(二) - 基础类型/类型转换
基础类型 - 数字类型(Number) 1.最基本的数据类型 2.不区分整型数值和浮点型数值 3.所有数字采用64位浮点格式存储,相当于Java和C语言中double格式 4.能表示的最大值 +- 1 ...
- 让webstrom更好用的设置
一.让webstrom在编辑vue项目时更快 1.在webstrom的项目管理树中,找到node_modules文件夹,在文件夹上点右键,在出来的右键菜单中选择“Mark Directory as” ...
- SpringMVC集成Redis
(1)添加pom依赖 <dependency> <groupId>org.springframework.data</groupId> <artifactId ...