首先看看nginx转发http请求的配置文件:
server {
listen 80;#代理监听的端口
server_name localhost;#代理的地址
location / {
proxy_pass http://www.xxx.com; #需要跳转的地址
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
以上配置文件中,访问localhost:80即可跳转到http://www.xxx.com中。
跳转到https中最重要的就是需要配置ssl证书:
>
server {
listen 8084 ssl; #代理监听的端口
server_name 192.168.1.201; #代理的地址
ssl_certificate cert/server.crt; #crt证书路径,存放位置Nginx的conf/cert文件夹下,可以使用绝对路径
ssl_certificate_key cert/server.key; #crt证书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; #表示使用的TLS协议的类型。
ssl_prefer_server_ciphers on;
# 拦截api请求
location / {
proxy_pass https://www.xxx.com; #跳转的地址
}
}
以上配置文件中,最重要的就是ssl证书和key,ssl证书和key可以使用openssl生成自签名证书,生成步骤如下:
1、进入OpenSSL工作空间:
openssl
2、生成一个私钥key
genrsa -des3 -out server.key 2048
3、使用以上key生成csr签名请求
req -new -key server.key -out server.csr
4、删除私钥中的密码,否则在启动时需要输入密码
rsa -in server.key -out server.key
5、生成证书
x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
后续只需要将crt格式的后缀和key后缀的文件按照以上配置文件放入即可正常启动