HTTPS 服务搭建相关概念

Nginx: 搭建HTTPS服务器(私有CA服务器的搭建,Nginx公私钥生成,证书签发和配置)的过程 现在我们正式的去配置一个私有的CA服务器真正的CA服务器在实际的生产中可能并不会用在对公网的一些HTTPS服务中,通常会去买一些真正的SSL证书包括阿里云或者是腾讯云等等,上面都有一些免费的SSL证书这些证书也是向所谓的一个CA服务商来购买的为了更好理解整个HTTPS证书的一个申请签发的一个流程自己去搭建这样一个CA服务器利用Nginx的服务器上去生成一个证书并且让CA服务器让Nginx生成的这样一个证书正式生效。 阅读详情

HTTPS 服务搭建相关概念

目录:

一、相关概念

PEM(Privacy-Enhanced Mail )

The PEM format is the most common format thatCertificate Authoritiesissue certificates in. PEM certificates usually have extentions such as.pem, .crt, .cer, and .key. They are Base64 encoded ASCII files and contain “—–BEGIN CERTIFICATE—–” and “—–END CERTIFICATE—–” statements. Server certificates, intermediate certificates, and private keys can all be put into the PEM format.

Apache and other similar servers use PEM format certificates. Several PEM certificates, and even the private key, can be included in one file, one below the other, but most platforms, such as Apache, expect the certificates and private key to be in separate files.

DER(Distinguished Encoding Rules)

the DER format is simply a binary form of a certificate instead of the ASCII PEM format. It sometimes has a file extension of.derbut it often has a file extension of.cerso the only way to tell the difference between a DER .cer file and a PEM .cer file is to open it in a text editor and look for the BEGIN/END statements. All types of certificates and private keys can be encoded in DER format. DER is typically used withJava platforms. The SSL Converter can only convert certificates to DER format.

PEM is just Distinguished Encoding Rules (DER) that has been Base64 encoded. Used for keys and certificates.

PKCS12 / PFX

The PKCS12 or PFX format is a binary format for storing the server certificate, any intermediate certificates, and the private key in one encryptable file. PFX files usually have extensions such as.pfx and .p12. PFX files are typically used onWindows machinesto import and export certificates and private keys.

PKCS12 is a password-protected format that can contain multiple certificates and keys.

Java KeyStore (JKS)

Java version of PKCS12 and also password protected. Entries in a JKS file must have an “alias” that is unique. If an alias is not specified, “mykey” is used by default. It’s like a database for certs and keys.

CSR (Certificate Signing Request)

A file generated with a private key. A CSR can be sent to a CA to request to be signed. The CA uses its private key to digitally sign the CSR and create a signed cert.It is usually generated on the server where the certificate will be installed and contains information that will be included in the certificate such as the organization name, common name (domain name), locality, and country. It also contains the public key that will be included in the certificate.

X.509

A specification governing the format and usage of certificates.

Certificate (cert)

The public half of a public/private key pair with some additional metadata about who issued it etc. It may be freely given to anyone.

cert and key relation

二、通信流程

One-way SSL authentication (server -> client)

Client and server use 9 handshake messages to establish the encrypted channel prior to message exchanging

  1. Client sendsClientHellomessage proposing SSL options.
  2. Server responds withServerHellomessage selecting the SSL options.
  3. Server sendsCertificatemessage, which contains the server’s certificate.
  4. Server concludes its part of the negotiation withServerHelloDonemessage.
  5. Client sends session key information (encrypted with server’s public key) inClientKeyExchangemessage.
  6. Client sendsChangeCipherSpecmessage to activate the negotiated options for all future messages it will send.
  7. Client sendsFinishedmessage to let the server check the newly activated options.
  8. Server sendsChangeCipherSpecmessage to activate the negotiated options for all future messages it will send.
  9. Server sendsFinishedmessage to let the client check the newly activated options.

one way ssl

Two-way SSL authentication (server <-> client)

Client and server use 12 handshake messages to establish the encrypted channel prior to message exchanging:
1. Client sends ClientHello message proposing SSL options.
2. Server responds with ServerHello message selecting the SSL options.
3. Server sends Certificate message, which contains the server’s certificate.
4. Server requests client’s certificate in CertificateRequest message, so that the connection can be mutually authenticated.
5. Server concludes its part of the negotiation with ServerHelloDone message.
6. Client responds with Certificate message, which contains the client’s certificate.
7. Client sends session key information (encrypted with server’s public key) in ClientKeyExchange message.
8. Client sends a CertificateVerify message to let the server know it owns the sent certificate.
9. Client sends ChangeCipherSpec message to activate the negotiated options for all future messages it will send.
10. Client sends Finished message to let the server check the newly activated options.
11. Server sends ChangeCipherSpec message to activate the negotiated options for all future messages it will send.
12. Server sends Finished message to let the client check the newly activated options.

two way ssl

三、证书生成

  1. CA file

    1. Create a private key of CA

      openssl genrsa -out ca-key.pem 1024
    2. Create a certificate sign request of CA

      openssl req -new -out ca-req.csr -key ca-key.pem
    3. Create self signed certificate

      openssl x509 -req -in ca-req.csr -out ca-cert.pem -signkey ca-key.pem -days 365
    4. Export certificate to pkcs#12 format

      openssl pkcs12 -export -clcerts -in ca-cert.pem -inkey ca-key.pem -out ca.p12

      type your p12 file password. eg.ca123456
  2. Client file

    1. Create a private key of Client

      openssl genrsa -out client-key.pem 1024
    2. Create a certificate sign request of Client

      openssl req -new -out client-req.csr -key client-key.pem

      type common name use domain or IP, do not use same value with server common name.
    3. Create CA signed certificate

      openssl x509 -req -in client-req.csr -out client-cert.pem -signkey client-key.pem
      -CA ca-cert.pem -CAkey ca-key.pem -CAcreateserial -days 365
    4. Export certificate to pkcs#12 format

      openssl pkcs12 -export -clcerts -in client-cert.pem -inkey client-key.pem -out client.p12

      type your p12 file password. eg.c123456
  3. Server file

    1. Create a private key of Server

      openssl genrsa -out server-key.pem 1024
    2. Create a certificate sign request of Server

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

      type common name use domain or IP, do not use same value with client common name.
    3. Create CA signed certificate

      openssl x509 -req -in server-req.csr -out server-cert.pem -signkey server-key.pem
      -CA ca-cert.pem -CAkey ca-key.pem -CAcreateserial -days 365
    4. Export certificate to pkcs#12 format

      openssl pkcs12 -export -clcerts -in server-cert.pem -inkey server-key.pem
      -name "server" -out server.p12

      type your p12 file password. eg.s123456

四、组合证书,生成trustStrore和storeFile

  1. generate jks file from p12

    keytool -importkeystore -deststorepass trust123456 -destkeypass trust123456
    -destkeystore server_trust_store.jks -srckeystore server.p12
    -srcstoretype PKCS12 -srcstorepass s123456

    keep the same of -deststorepass trust123456 -destkeypass trust123456, or you will get a ‘cannot recover key’ error.
    this operation will contain one entry, type is privateKeyEntry.
  2. show certificate in jks.

    keytool -list -v -keystore server_trust_store.jks

    type jks file password trust123456
  3. import cert to jks file.

    keytool -import -v -trustcacerts -keystore server_trust_store.jks -storepass trust123456 
            -alias cacert -file ca-cert.cert

    this operation will add a cert entry to the jks file. then the entry type is trustCertEntry

    Java has its own version of PKCS12 called Java KeyStore (JKS). It is also password protected. Entries in a JKS file must have an “alias” that is unique. If an alias is not specified, “mykey” is used by default. It’s like a database for certs and keys.

    For both the “KeyStore” and “TrustStore” fields in the REST SSL Account settings, we are going to use JKS files. The difference between them is for terminology reasons: KeyStores provide credentials, TrustStores verify credentials.

    Clients will use certificates stored in their TrustStores to verify identities of servers. They will present certificates stored in their KeyStores to servers requiring them.

  4. server and client jks file.

    • server_key_store.jks:

      contains server’s cert.(PrivateKeyEntry)

    • server_trust_key_store.jks

      contains ca’s cert, server.cert.(PrivateKeyEntry)

    • client_key_store.jks:

      contains client’s cert.(PrivateKeyEntry)

    • client_trust_key_store.jks

      contains server’s cert. client.cert(PrivateKeyEntry)

java key store authorize

五、java 服务搭建

  1. 服务端
 /**
 * Configure embedded Tomcat and SSL connectors
 **/
@Configuration
public class Config {

    @Autowired
    private Environment env;   //config file 

    // Embedded Tomcat with HTTP and HTTPS support
    @Bean
    public EmbeddedServletContainerFactory servletContainer() {
        TomcatEmbeddedServletContainerFactory tomcat = new
                TomcatEmbeddedServletContainerFactory();
        tomcat.addAdditionalTomcatConnectors(createSSLConnector());
        return tomcat;
    }

    // Creates an SSL connector, sets two-way SSL, key- and trust stores, passwords, ports etc.
    protected Connector createSSLConnector() {
        Connector connector = new Connector(Http11Protocol.class.getCanonicalName());
        Http11Protocol protocol = (Http11Protocol) connector.getProtocolHandler();


        connector.setPort(env.getRequiredProperty("ssl.port", Integer.class)); 
        connector.setScheme(env.getRequiredProperty("ssl.scheme")); // https
        connector.setSecure(env.getRequiredProperty("ssl.secure", Boolean.class)); //ture or false

        //true or false, two way ssl or one way ssl.
        protocol.setClientAuth(env.getRequiredProperty("ssl.client-auth"));
        protocol.setSSLEnabled(env.getRequiredProperty("ssl.enabled", Boolean.class)); // true

        // jks file password, like trust123456
        protocol.setKeyPass(env.getRequiredProperty("ssl.key-password")); 
        protocol.setKeystoreFile(env.getRequiredProperty("ssl.key_store"));// jks file
        // jks file password, like trust123456
        protocol.setKeystorePass(env.getRequiredProperty("ssl.store-password"));
        protocol.setTruststoreFile(env.getRequiredProperty("ssl.trust_key_store"));
        protocol.setTruststorePass(env.getRequiredProperty("ssl.store-password"));
        //ciphers string, eg TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
        protocol.setCiphers(env.getRequiredProperty("ssl.ciphers")); 

        return connector;
    }
  1. 客户端
public RestTemplate restTemplateHttpsWithCert4node() 
                    throws KeyStoreException, 
                           NoSuchAlgorithmException, 
                           KeyManagementException, 
                           IOException, 
                           CertificateException, 
                           UnrecoverableKeyException {

        String storeFilePath = "/path/of/client_store.jks";
        String trustStoreFilePath = "/path/of/client_trust_store.jks";
        String storeFilePass = "c123456";
        SSLContext sslContext = SSLContexts.custom()
                .loadKeyMaterial(getStore(storeFilePath, storeFilePass.toCharArray()), 
                                 storeFilePass.toCharArray())
                .loadTrustMaterial(getStore(trustStoreFilePath, storeFilePass.toCharArray()), 
                                   (TrustStrategy) (x509Certificates, s) -> true)
                .useProtocol("TLS")
                .build();

        SSLConnectionSocketFactory connectionFactory = 
                new SSLConnectionSocketFactory(sslContext, new DefaultHostnameVerifier());

        CloseableHttpClient closeableHttpClient = HttpClientBuilder
                                                    .create()
                                                    .setSSLSocketFactory(connectionFactory).build();

        HttpComponentsClientHttpRequestFactory httpRequestFactory = 
                new HttpComponentsClientHttpRequestFactory(closeableHttpClient);
        RestTemplate template = new RestTemplate(httpRequestFactory);
        return template;
    }

client test use curl command.

curl -s -v -k https://ip:port/greeting\?name\=kaidi --key client-key.pem --cert client-cert.cert

with option -v, it will show detial transport communication.

六、nodejs服务搭建

  1. 服务端
const express = require('express');
const https = require('https');
const fs = require('fs');
const app = express();

const options = {
    key: fs.readFileSync('/path/of/server-key.pem'), // server private key
    cert: fs.readFileSync('./keys/server/server-cert.pem'), // server cert
    ca: fs.readFileSync('./keys/ca/ca-cert.pem'), // ca cert
    //passphrase:'123456', // if pfx, needpassphrase
    isServer:true, 
    requestCert: true, // require client cert. true is two way ssl. false is one way.
    rejectUnauthorized:true
};

https.createServer(options, app).listen(8888);

app.get('/demo/query/:transId', (req, res) => {
    let resStr = req.params['transId'];
    let obj = {};
    obj.transId = req.params['transId'];

    res.setHeader('Content-Type','application/json');
    res.send(JSON.stringify(obj));
});

app.post('/demo/loan/', (req, res) => {
    let resStr = 'get post request, data ';
    resStr += JSON.stringify(req.body);
    resStr += ' , and response is good \n';
    res.send(resStr);
});
  1. 客户端(暂缺)

七、参考文献

  1. Everything You Ever Wanted to Know About SSL
  2. USE SSL CLIENT AUTHENTICATION WITH NODE.JS AND EXPRESS
  3. HTTPS单向认证和双向认证
  4. SSL/TLS原理详解
  5. HTTPS工作原理
  6. SSL证书申请、颁发说明
  7. 证书相关概念介绍
  8. 证书常见格式与协议介绍
使用openSSL和开源httplib库搭建本地https代理服务器及https客户端 第一部分原理及环境搭建 参考 httplib库原理 httplib搭建简单服务器与浏览器交互 httplib GitHub 1.0certmgr证书管理工具 该项目本部分需要实现本地客户端与远端服务器进行通信(例如国外网站),那么如果直接进行Socket连接将会非常慢或者撞墙,那么这个时候考虑使用本地客户端先与本地代理服务器进行通信,然后本地客户端每次访问一次URL地址,都需要将证书添加到受信任的根证书颁发机构,不然证书以及私钥对不上服务器将不允许访问。查看证书可以通过cmd命令行certm.. 阅读详情

相关推荐

OpenResty中OCSP Stapling与HTTPS服务搭建详解

本文深入探讨了OpenResty中OCSP Stapling技术的优势和HTTPS服务的搭建过程。OCSP Stapling技术通过服务器主动获取OCSP查询结果并发送给客户端,避免了客户端查询验证的开销,优化了SSL握手过程。文章还详细介绍了OpenResty环境下HTTPS服务的配置方法,包括必须的SSL指令和使用Lua脚本在不同阶段实现服务逻辑的示例。此外,还探讨了如何动态加载证书和私钥以支持多虚拟主机配置,以及使用OpenResty的ngx.ssl库获取HTTPS通信中的TLS版本、SNI主机名、

weixin_33610780的博客 1093

处理https中的Digest authentication鉴权

解决问题:   RESTful 的传输协议类型为 HTTPS,鉴权方式为 Digest_SHA256(即DIGEST摘要认证) 时,接口调用问题。 搞清楚几个定义: HTTPS:HTTP over SSL,实际上是在原有的 HTTP 数据外面加了一层 SSL 的封装。 Digest_SHA256:摘要认证( Digest authentication)是一个简单的认证机制,最初是为HTTP协议开发的,因而也常叫做HTTP摘要。 普通的RESTful接口调用: import requests from r

qq_17328759的博客 8511

深入浅出CenterFusion

结合论文和代码理解CenterFusion

Untitled的专栏 5101

HTTPS双向认证(Mutual TLS authentication)

HTTPS双向认证(Mutual TLS authentication) 双向认证,顾名思义,客户端和服务器端都需要验证对方的身份,在建立Https连接的过程中,握手的流程比单向认证多了几步。单向认证的过程,客户端从服务器端下载服务器端公钥证书进行验证,然后建立安全通信通道。双向通信流程,客户端除了需要从服务器端下载服务器的公钥证书进行验证外,还需要把客户端的公钥证书上传到服务器端给服务器端进行验证,等双方都认证通过了,才开始建立安全通信通道进行数据传输。 原理 单向认证流程中,服务器端保存着公钥证书和私钥

猥琐的刚的博客 1万+

AFSim仿真系统中的图像处理器:从静态图像到视频流的目标识别技术解析

本文深入解析了AFSim仿真系统中WSF_IMAGE_PROCESSOR图像处理器的核心功能与技术实现。它详细阐述了该处理器如何从静态图像与视频流中完成目标检测、跟踪与识别,将原始像素数据转化为可供指挥系统使用的轨迹情报,并重点介绍了其基于约翰逊准则的目标识别进阶逻辑、关键参数配置以及脚本扩展能力,为构建高逼真度仿真应用提供了实践指导。

cola5的博客 213

深入C6678启动流程:从BootRom参数表到多核镜像部署的完整解析

本文深入解析TMS320C6678 DSP的启动流程,从BootRom参数表到多核镜像部署的全过程。详细介绍了七种启动模式的工程选择、多核镜像构建技巧以及二级引导策略,帮助开发者掌握C6678的启动机制与调试方法,提升嵌入式系统开发效率。

weixin_30505225的博客 610

配置使用SSL双向认证

配置使用SSL双向认证 一.名词解释 1.1 Https     HTTPS (全称: HypertextTransfer Protoco l over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL。它是一个URI scheme,句法类同http:体系。它使用了HTTP,但HTTP

Sunky的Blog 1241

爬虫法律风险与合规边界

爬虫技术的法律边界正在快速收紧。从2017年上海晟品案开启爬虫入刑先河,到2025年Cloudflare区块链溯源技术将违规行为与企业主体永久绑定,合规已从"可选项"变为"必选项"。技术团队需要建立三层防御体系法律合规层:法律适用判定、授权管理、合同审查、隐私政策;技术控制层:访问控制、数据加密、匿名化、审计日志、监控告警;组织管理层:DPO任命、培训体系、应急响应、合规审计、绩效考核。

从事移动开发八年,csdn博客专家,阿里云特邀专家,华为云云享专家,高级网络信息安全工程师,大数据工程师(高级),python技术开发(高级),HarmonyOS 应用开发者高级认证,现在某学校任教。 1160

工具类HttpsAuthentication

packagecom.softbank.payapp.util; importjava.io.BufferedInputStream; importjava.io.File; importjava.io.FileOutputStream; importjava.io.IOException; importjava.io.InputStream; import...

weixin_34219944的博客 146

5大绝招破解.NET Core本地IP访问难题——为什么你的调试总卡在localhost?

摘要: 本文详解5种本地IP访问.NET Core应用的方法,涵盖基础IP绑定(0.0.0.0)、防火墙配置、IIS Express优化、远程调试及ngrok内网穿透。关键步骤包括修改launchSettings.json、PowerShell授权端口、SSH远程调试和ngrok外网映射,并提示常见陷阱(如未绑定IP、防火墙拦截)。通过“魔法法则”组合,可实现局域网/外网高效访问,适用于开发测试场景。 (字数:148)

java专栏 954

【PPS便携式移动电源】如何透彻了解便携式移动电源,仅需要十分钟阅读即可

PPS 便携式储能电源的发展前景广阔,受益于户外经济爆发、应急备灾需求提升及 “双碳” 政策支持,全球市场规模预计持续增长,2025 年出货量将达 2380 万台,未来将向大功率大容量、光充一体化、智能化方向发展,还会拓展家庭储能、移动医疗等新场景,同时钠离子电池应用、双向逆变技术升级将进一步推动行业发展。

昔时扬尘处 272

fiddler问题记录

关于fiddler安装其它证书问题: 最近公司某个项目中的app端开发设置了加密,需要安装对应的.p12证书才能解析接口信息,百度了许久都没找到问题,最终通过同事大佬的帮助成功解决。 步骤一:将需要安装的接口导入window证书里(注意:证书导入成功后,名字可能会被改变) 步骤二:再将证书以.cer的格式导出(导出时编码格式根据自己的要求选择,我这是选择默认的) 步骤三:最后将导出的.cer证书放入C盘中的fiddler目录下(以自己本...

qq_42569895的博客 438

初识 QML

QML 是一种声明性语言,允许根据用户界面的可视组件以及它们如何相互交互和相互关联来描述用户界面。QML 是一种高度可读的语言,旨在使组件能够以动态方式互连,并且允许组件在用户界面中轻松重复使用和自定义。 使用 Qt Quick,开发人员可以轻松地在 QML 中构建流体动画用户界面,并且可以选择将这些用户界面连接到任何后端 C++ 库。

青春不老,奋斗不止! 1万+

搭建基于https协议的静态网站(搭建加密Web服务)

文章目录概念一、HTTPS协议1.HTTP与HTTPS的关系和区别2.SSL协议2.1:概念2.2:组成2.3:SSL协议提供的服务3. 加密过程3.1. 客户端浏览器向服务器端发送如下信息:3.2. 服务器端向客户端发送如下信息:3.3:客户端验证信息合法性3.4:客户端产生对称密钥,加密后传给服务器4. HASH4.1 概念4.2 常见的HASH算法5. 信息加密方式5.1. 共享密匙加密(对称密匙加密)5.2. 公开密匙加密(非对称密匙加密)5.3. 加密方法6. CA(Certificate Aut

weixin_45723435的博客 1891

SAP SmartForms字体 :从OTF缓存溢出到完美解决

精准诊断:遇到错误,首先区分是图片过大还是字体嵌入导致。删除图片测试是最快的判别方法。字体上传规范始终从SE73入口上传用于表单打印的字体。强烈建议应用SAP Note 1301018,确保上传时勾选“不替换其他字体”,避免系统自动替换引发的意外问题。如需为同一字体族上传粗体、斜体等变体,请在SE73初始屏幕上勾选对应的属性框(如BOLD),然后分别上传对应的字体文件(如上传过程中,系统会提示输入RTF控制序列信息,这是确保打印预览正常显示的关键步骤,必须正确填写。方案选型快速止血:采用方案一(

Pegasus666的博客 292

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

web服务器原理与nodejs搭建

web服务器原理与nodejs搭建 基础概念 Web Service:https://zh.wikipedia.org/wiki/Web服务 基础http网络传输协议的web服务处理过程: node.js: 基于JavaScript语言和V8引擎的开源Web服务器项目, 发展过程参考:https://www.liaoxuefeng.com/wiki/1022910821149312/102302...

Liam的博客 705

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Linux进阶——web服务器

www:(world wide web)全球信息广播,通常来说的上网就是使用www来查询用户所需的信息。使用http超文本传输协议。过程:web浏览器向web服务(Apache,Microsoft,nginx)端发送web请求。www服务器需要提供可让客户端浏览的平台。服务器所提供的主要数据是超文本标记语言html和多媒体文件。html只是一些纯文本文件,通过所谓的标记来规范要显示的数据格式。web服务端将文档传输给浏览器(即客户端)。客户端收到服务器的数据之后,需要解析数据,最后将效果呈现到用户屏幕上。

weixin_63033110的博客 1023

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Linux之web服务器

HTTP 协议以明文方式发送内容,存在安全缺陷,不适合传输敏感信息。HTTPS 是以安全为目标的 HTTP 通道,并非新协议,而是 HTTP + SSL(TLS)。SSL 被嵌在 HTTP 和 TCP 之间,分为两层:SSL 记录协议:为高层协议提供数据封装、压缩、加密等基本功能。SSL 握手协议:用于通讯双方进行身份认证、协商加密算法、交换加密密钥等。SSL 协议提供的服务包括认证用户和服务器、加密数据、维护数据完整性。

zyp246810的博客 1643

Web服务器-RHCE

web服务器提供的这些数据大部分都是文件,那么我们需要在服务器端先将数据文件写好,并且放置在 某个特殊的目录下面,这个目录就是我们整个网站的首页,在nginx中,这个目录默认在/usr/share/nginx/html/。状态代码:由三位数字组成,第一个数字定义了响应的类别,且有五种可能取值。(3)http协议请求的工作流程(1)终端客户在web浏览器地址栏输入访问地址 http://www.ceshi.com:80/index.html。

weixin_75191505的博客 436

肖sir___环境相关的面试题

环境测试

多测师肖sir的博客 1028

DOH(DNS-over-HTTPs)服务器搭建

文章目录DOH搭建1)搭建环境以及相关资料2)DOH原理3)具体搭建过程(1)dnscrypt的安装配置(2)安装DNS-over-HTTPs服务器(3)安装并配置Nginx4)DOH的使用方法 DOH搭建 1)搭建环境以及相关资料   配置使用服务器或虚拟机都可以,系统镜像推荐使用Debian或Ubuntu。本次搭建使用的是Ubuntu18.04版本。 DOH服务器包的下载链接,后面会用到: ...

qq_39378221的博客 4万+

基于Liunx搭建https服务器(SSL协议/相关服务器搭建)

http协议: 客户端:发送请求 客户端支持的协议版本号 客户端支持的加密算法(密钥,算法) 客户端产生随机数random_client_num1 服务端:回复 服务端发送协商好的协议版本 服务端发送协商好的加密算法 服务端发送服务器证书 服务器产生随机数random_server_num1 此时,客户端: 接受服务端发送的信息...

qq_44685426的博客 3640

如何搭建HTTPS服务?申请免费的https的证书

一、 申请免费证书 Let’s Encrypt上获取证书,生成证书的操作需要在域名解析到的服务器上进行。目前可以在linux的服务器上,进行如下操作获取免费证书。 (1)准备工作 #检查及安装git git --version yum install git (2)生成证书 git clone https://github.com/letsencrypt/letsencrypt #在执行...

青柿视频流媒体的博客 7万+

linux系统搭建https服务

基础必知 SSL:安全套接字层,由Netscape公司于1994年创建,它旨在通过Web创建安全的Internet通信。 它是一种标准协议,用于加密浏览器和服务器之间的通信。它允许通过Internet安全轻松地传输账号密码、银行卡、手机号等私密信息。 SSL常见应用: https:启用ssl加密的安全HTTP传输协议 443 ipsec vpn PKI:公钥基础设施,主要功能是绑定证书持有者的身份和相关的密钥对(通过为公钥及相关的用户身份信息签发数字证书), 为用户提供方便的证书申请、证书作废、证书获取

Friendsofthewind的博客 1660

基于Linux搭建Web服务器相关操作

web服务器提供的这些数据大部分都是文件,那么我们需要在服务器端先将数据文件写好,并且放置在某个特殊的目录下面,这个目录就是我们整个网站的首页,在redhat中,这个目录默认在 /var/www/html。浏览器是通过你在地址栏中输入你所需要的网址来取得这个目录的数据的。URL:Uniform Resource Locator,统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。网址格式:<协议>://<主机或主机名>[:port]/<目录资源,路径>

Alex_thomas的博客 1840

局域网搭建SSL,使用HTTPS服务教程

局域网搭建SSL,使用HTTPS服务教程

weixin_45565886的博客 6793
上一篇: struts2 hello world 搭建
下一篇: ssh 本地和远端端口转发
牧童淮河岸
博客等级 码龄16年 2粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值