SSL证书安装配置_ssl_certificate-程序员宅基地

技术标签: nginx  SSL证书  https  ssl  

我们将简单的介绍如何安装配置SSL证书。最近有网友反映教程不全,特此提供一个万能教程链接,如果不会也可以请Gworg进行收费技术支持。另外在里面也可以搜索教程,常见都会有,包括虚拟主机、自助建站控制面板。

SSL证书所有服务器环境教程:https://www.gworg.com/ssl/127.html 

第1步 下载证书文件到本地电脑中

Gworg申请SSL证书,然后去邮箱下载解压点击Nginx证书文件。

每种WEB服务器的SSL证书格式不一样,不通用,需要单独下载对应服务器的SSL证书文件

下载完是一个zip压缩包文件,需要进行解压,解压下来是两个文件:

以.key为后缀的文件是密钥文件

以.pem或者.crt为后缀的文件是证书文件

第2步 上传到服务器中的特定的文件夹目录下

将第1步中的证书文件(.pem结尾)和密钥文件(.key)文件上传到Nginx服务器中,这两个文件具体的放置路径是在Nginx安装目录下的conf/cert文件夹中。

比如你的Nginx安装目录是/usr/local/nginx,则先在/usr/local/nginx/conf目录下新建一个文件夹cert,然后将这两个文件上传放置在这个目录下。

如果你是Linux主机的话可以参照下面的命令(Windows用户可以手动图形化界面操作):

//创建cert目录

cd /usr/local/nginx/conf/
mkdir cert

通过FTP、SCP或者SFTP等工具将证书上传到cert目录,最终效果是:

第3步 配置nginx.conf,使证书生效

修改nginx的配置文件/usr/local/nginx/conf/nginx.conf,修改之前最好通过复制命令将该配置文件备份一份,以防万一把该配置文件改坏了,好恢复。

//备份一份原始的配置文件
cp nginx.conf nginx.conf.bak.2020.03.09

接下来就修改nginx.conf文件:

vim nginx.conf

在nginx.conf里增加配置信息:

# HTTPS server 

server {
    listen       443 ssl;
    server_name  www.gworg.com;

    ssl_certificate      cert/www.gworg.com.pem;
    ssl_certificate_key  cert/www.gworg.com.key;

    ssl_session_timeout  5m;

    ssl_ciphers  ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

    ssl_prefer_server_ciphers  on;


    root /var/www-data/yhxtapi;
    index index.html index.php;
    location / {

    }

}

这里对上面的配置信息做一个简单的解释 :

配置信息中ssl开头的配置项是与SSL证书配置相关的,其他内容是一般的Nginx服务器配置信息。

listen       443 ssl;  

//监听443端口,因为SSL协议是走443端口
servername  www.gworg.com; 
 
//虚拟主机的servername,要与你所用的证书中的域名一致,也就是当时申请SSL证书时用的什么域名,这里也要是相同的域名。
ssl_certificate      cert/www.gworg.com; 

//证书文件(.pem)的路径地址,也就是第2步中上传的证书文件的存放地址
ssl_certificate_key  cert/www.gworg.com;

//密钥文件(.key)的路径地址,也就是第2步中上传的密钥文件的存放地址
ssl_session_timeout  5m;

//客户端可以重用会话缓存中的ssl的过期时间
ssl_ciphers  ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;

//密码加密方式
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

//启用特定的加密协议
ssl_prefer_server_ciphers  on;

//配置优先使用服务端的加密套件,而不是客户端浏览器的加密套件

其他配置信息是基本的Nginx服务器配置信息,这里不详细介绍了。

配置完成之后,保存,使用nginx的命令测试一下配置文件是否正确:

nginx -t

输出结果:

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

代表配置文件修改的没问题。

然后让nginx重新加载下配置文件

nginx -s reload

配置就完成了!接下来就是测试看看效果了。

测试下效果

测试之前你需要做的:

  1. 确保你的服务器防火墙443端口已开启,因为SSL协议是走443端口的,像使用阿里云ECS服务器的话防火墙默认是没开启443端口,需要自己手动去开启。
  2. 做好域名的解析,将域名正确的解析到你的服务器IP地址上。

做好了这两步之后,你可以在刚配置好的SSL虚拟主机的根目录下新建一个html文件测试下。

按照本文中的配置的话就是在 /var/www-data/yhxtapi目录下新建一个index.html,随便写点内容,然后打开浏览器,访问

可以再多做一件事

你可以在nginx.conf里再多配置一点:

server {
	listen       80;
	server_name  www.gworg.com;
	rewrite ^(.*)$ https://$host$1 permanent;
}

上面的配置可以让用于访问HTTP请求时自动跳转到HTTPS开头的地址,确保用户访问的是安全的HTTPS链接。

下载证书 -> 上传证书 -> 配置web服务器,3步可以搞定SSL证书安装使用,最后别忘了配置完成后测试一下是否成功,是不是很简单?

在其他的WEB服务器中安装配置的步骤与此类似,不过配置web服务器与Nginx服务器中不同

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Gworgcom/article/details/121353775

智能推荐

C3P0和Druid数据库连接池的简单使用;几种设计模式简介;简略介绍自定义数据库连接池注意点_c3p0连接池用的设计模式-程序员宅基地

文章浏览阅读577次。数据库连接池负责分配、管理和释放数据库连接;它允许应用程序重复使用一个连接,而不是新建连接,提高了程序的效率;由于新建数据库连接也是要耗费性能和时间的,当访问量十分巨大的时候,对程序性能的影响就极为显著,为了解决这个问题出现了数据库连接池的技术;C3P0连接池使用步骤1、导入jar包;2、导入配置文件到src目录下;(配置文件会自动导入,但是名字必须是c3p0-config.xml或者c3p0-config-properties)3、创建C3P0连接池对象;4、获取连接;5、使用连接;_c3p0连接池用的设计模式

vue修改config后怎么生效_vue.config.js 配置无效?-程序员宅基地

文章浏览阅读6.2k次。vue.config.js 位于根目录下使用vue-cli3构建的项目constpath=require("path");functionresolve(dir){returnpath.join(__dirname,dir);}module.exports={lintOnSave:true,//生产环境是否生成sourceMap文件producti..._vue.config.js 生效

SpringBoot 系列教程(三十):SpringBoot整合Mybatis增删改查注解版_springboot mybatis 使用查锁-程序员宅基地

文章浏览阅读2.9k次。源码:https://github.com/Thinkingcao/SpringBootLearning/tree/master/springboot-mybatis本文主要讲解如何使用SpringBoot整合Mybatis,并访问数据库。由于Mybatis这个框架太过于流行,所以这里不过多涉及Mybatis的知识。一、创建SpringBoot项目,引入配置信息0、项目结构1..._springboot mybatis 使用查锁

bzoj1047【haoi2007】理想正方形-程序员宅基地

文章浏览阅读832次。单调队列

linux addr2line 定位ASan Dump信息-程序员宅基地

文章浏览阅读1k次,点赞25次,收藏19次。解决linux user层代码出现crash定位大难题_linux addr2line 定位asan dump信息

关于interface接口的使用与理解-程序员宅基地

文章浏览阅读4.1k次,点赞2次,收藏21次。1、什么是interface接口?首先,接口是与类平行的结构,两者都是独立的一个结构,都有自己的定义与规则,接口不属于类2、如何定义interface接口?定义接口中的成员:在jdk7以前只能定义全局常量(使用public static final修饰的变量,通常可以省略不写)与抽象方法(类似于方法,但是没有方法体,使用public abstract修饰变量名)。注意在接口中不能定义构造器!意味着接口不可以被实例化new出对象。3、如何使用interface?只要编写了接口,意_interface接口

随便推点

ssh远程登陆执行命令:未找到命令_sshpass命令找不到-程序员宅基地

文章浏览阅读5.1k次。ssh远程登陆执行命令:未找到命令_sshpass命令找不到

浅谈Linux的locale,LC_ALL和LANG_lc——time-程序员宅基地

文章浏览阅读4.4k次。如果你是一个Linux新手,并且刚刚安装了一个新的英文系统但想要设置成中文系统,肯定会接触到上面几个变量,在网上搜索了一系列解决方法,给一些变量赋一下值,再export一下,或者写到配置文件里面,然后就搞定了,但究竟为什么要这样做,可能还是一知半解。通过这两天自己对网上看到的一些文章的整理和自己的试验,在这里记录一下自己的理解。一、什么是localelocale这个单词中文翻译成地_lc——time

Vue实现前端本地打包为一个zip文件_vant打包完项目,再次打包文件夹内容为zip-程序员宅基地

文章浏览阅读989次。1、应用场景:打包下载的批量二维码图片2、实际后端返回数据格式:图片联机数组集合,每个图片链接打开都是一张二维码图片3、代码实现如下:元素代码<el-button type="primary" icon="el-icon-download" size="mini" @click="downloadCode"> 下载二维码</el-button>js代码第一步安装依赖包_vant打包完项目,再次打包文件夹内容为zip

Java面向对象1----类与对象的定义和使用_java类和对象的定义和使用答案头歌-程序员宅基地

文章浏览阅读821次。介绍面型对象的概念,以及Java中类的定义和使用方法_java类和对象的定义和使用答案头歌

Java 搭建一个可交互的窗体程序_java窗体程序的主程序-程序员宅基地

文章浏览阅读2k次。简单地显示一个窗口所需的最少代码import javax.swing.JFrame;public class main { static class Win extends JFrame{//static不能少 Win() { setVisible(true);//setv } } public static void main(String[] args) { // TODO new Win(); }}报错:No enclosing instan_java窗体程序的主程序

Anti ptrace:去掉AlipayWallet的ptrace 反调试保护,进行lldb调试---仅用于参考学习-程序员宅基地

文章浏览阅读1.8k次。新的博客学习笔记前言code软件环境:Xcode硬件环境:iPhone5越狱手机、Mac开发工具: Cycript、LLDB、logos Tweak、hopper、MonkeyDev、AFLEXLoader、dumpdecrypted、debugserver、ssh、class_dump、hook本文采用tweak 的方式进行M..._lldb 绕过ptrace反调试

推荐文章

热门文章

相关标签