欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

搭建https

程序员文章站 2022-05-01 09:38:29
...

 

搭建https

 

一、基本的编译与安装

1、安装依赖项

sudo apt-get update
sudo apt-get install build-essential zlib1g-dev libpcre3 libpcre3-dev libssl-dev libxslt1-dev libxml2-dev libgd2-xpm-dev libgeoip-dev libgoogle-perftools-dev libperl-dev libtool
sudo apt-get install openssl

2、下载新版本,到官网复制下载链接

wget http://nginx.org/download/nginx-1.13.5.tar.gz

3、解压

tar -zxvf nginx-1.13.5.tar.gz

4、编译安装

 

# 进入解压目录:
cd nginx-1.13.5
# 配置:这里额外安装几个模块
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-stream --with-mail=dynamic

# 编辑nginx:
sudo make
# 安装nginx:
sudo make install
# 启动nginx:
sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

 

 

二、ssl的相关配置

1、使用自己生成的证书(仅作测试或加密数据用,不被主流浏览器支持) 

# 建立服务器私钥(过程需要输入密码,请记住这个密码)生成RSA**
sudo openssl genrsa -des3 -out testcert.key 1024  
# 生成一个证书请求   
# 需要依次输入国家,地区,组织,email。
# 最重要的是有一个common name,可以写你的名字或者域名。如果为了https申请(不使用自己生成的证书,向CA申请),这个必须和域名吻合,否则会引发浏览器警报。生成的csr文件交给CA签名后形成服务端自己的证书
sudo openssl req -new -key testcert.key -out testcert.csr
# 生成不需要密码的key
sudo openssl rsa -in testcert.key -out testcert_nopwd.key  
# 生成crt文件
sudo openssl x509 -req -days 365 -in testcert.csr -signkey testcert_nopwd.key -out testcert.crt  

 

修改ngin.conf配置文件:

server {
    server_name www.antiyzdl.com;
    listen 443;
    ssl on;
    ssl_certificate /usr/local/nginx/conf/server.crt;
    ssl_certificate_key /usr/local/nginx/conf/server.key;
}

注意:ssl_certificate后边指向的是之前生成的server.crt文件的路径。

ssl_certificate_key后边指向的是之前生成的server.key文件的路径。

 

重启nginx即可:

查看nginx进程 :ps -ef | grep nginx

杀死进程:kill -QUIT 主进程号

启动进程:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

 

http和https性能阿里为例:

curl -w "TCP handshake: %{time_connect}, SSL handshake: %{time_appconnect}\n" -so /dev/null https://www.alipay.com