最近工作中需要使用Nginx手动搭建一台https服务器,现将搭建步骤书写如下:
首先安装PCRE,其 作用是让 Nginx 支持 Rewrite 功能
1、下载 PCRE 安装包,下载地址: PCRE安装包
cd /usr/local/
wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
2、解压安装包
tar zxvf pcre-8.35.tar.gz
3、进入安装包目录
cd pcre-8.35
4、编译安装
./configure
make && make install
5、查看pcre版本
pcre-config --version
安装 Nginx
1、下载Nginx:Nginx-1.20.1安装包,并将压缩包复制到/usr/local/目录下
2、解压
tar zxvf nginx-1.20.1.tar.gz
3、进入安装包目录
cd nginx-1.20.1
4、编译安装
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/pcre-8.35
make
make install
Nginx 配置
1、使用openssl生成密钥privkey.pem:
openssl genrsa -out privkey.pem 1024
2、 使用密钥生成证书server.pem:
openssl req -new -x509 -key privkey.pem -out server.pem -days 365
#证书信息可以随便填或者留空,只有Common Name要根据你的域名填写。如xxx.com,或使用*.xxx.com匹配二级域名。
3、配置服务器:监听https后降级到http
`server {
#监听的端口
listen 8510 ssl;
server_name localhost;
#第二步生成的秘钥证书
ssl_certificate /usr/local/server.pem;
#第一步生成的秘钥
ssl_certificate_key /usr/local/privkey.pem;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
#协议配置
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
#要目标服务器地址
#降级到http
location / {
proxy_pass http://xxx.xxx.xxx:xx;
}
}
include servers/*;
} `
到这里就配置完成了,后面又遇到了另一个问题,后端接口是https接口,目前正在寻找解决办法,找到了会继续进行分享。