搭建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
上一篇: 搭建本地 HTTPS 环境
下一篇: uKey双向认证https