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证书的在同等条件下排名结果是有靠前可能的.我 ...
随机推荐
- MySQL记录-Lost Connect MySQL Server during query解决方案
vim /etc/my.cnf ,在[mysqld]下面加上: skip-name-resolve max_allowed_packet = 800M default-character-set=ut ...
- Hbase记录-HBase基本操作(二)
HBase Exists 可以使用exists命令验证表的存在.下面的示例演示了如何使用这个命令. hbase(main):024:0> exists 'emp' Table emp doe ...
- java.lang.UnsupportedClassVersionError: xxx/xxxClass : Unsupported major.minor version 51.0【转】
以下小段参考自overflow: Unsupported major.minor version 52.0 [duplicate] 或csdn也有提及 : http://blog.csdn.net/p ...
- Ubuntu 16.04下安装zsh和oh-my-zsh
注意:安装前先备份/etc/passwd 一开始装oh-my-zsh我是拒绝的,因为这东西安装容易,卸载难,真的很难. Mac安装参考:http://www.cnblogs.com/EasonJim/ ...
- 01-VS充当IIS的配置步骤
一. 背景 在实际开发中,经常会遇到需要在线调试,比如:第三方支付的回调.App接口借助PostMan工具测试,需要在代码上直接加断点,来进行调试,VS默认是不支持这种方式,需要手动配置一下,才能达到 ...
- 自动部署tomcat,并以普通用户身份运行 for centos6
#!/bin/bash ######## install jdk install_jdk () { rpm -e ‘rpm -qa |grep jdk’ wget \ --no-check-certi ...
- Java实现DOS中的Copy命令
import java.io.*; import java.util.Scanner; public class fileCopy { public static void main(String [ ...
- Mac下MySQL与MySQLWorkbench的安装
通过查阅各种各样的资料,去安装这些东东.最后经过一番周折终于安装完成.下面是对安装过程和遇到的问题做个简单记录. 一. 下载MySQL和MySQL Workbench http://dev.mysql ...
- c/s 给 服务器上传文件(c/s和b/s互传文件)
//c/s 代码 private void button1_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog = ne ...
- Rancher
Rancher Docker容器管理平台:图像化管理平台. centos server 10.100.10.10 docker node 10.100.10.15 安装 docker search ...