Nginx配置作为中转服务器

原文链接:https://blog.csdn.net/anaitudou/article/details/103683266

1.1、首先使用命令安装必要的组件

yum install wget

yum install vim-enhanced

yum install make cmake gcc gcc-c++
1.2、下载nginx安装包

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


1.3、安装依赖,其中pcre(perl compatible regular expressions)是一个pert库,包括perl兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。pcre-devel是使用pcre开发的一个二次库,nginx也需要此库。zlib库提供了很多种压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。openssl是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的秘钥和证书封装管理功能及SSL协议,并提供丰富的应用程序提供测试或其它目的的使用。nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。


yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
1.4、进入到目录下,可以看到我们解压后的nginx-1.6.2文件夹了,然后我们进行configure配置,

由于我们需要代理的接口为https的接口所以需要添加ssl模块命令如下:cd nginx-1.6.2 && ./configure --prefix=/home/zqxy/nginx --with-http_stub_status_module --with-http_ssl_module。可以看出,这条命令是组合命令,先进入nginx-1.6.2目录然后在执行./configure命令。如下图所示。

 

./configure --prefix=/home/zqxy/nginx --with-http_stub_status_module --with-http_ssl_module
1.5编译完之后进行安装

make && make install
1.6、启动Nginx,启动完之后检查nginx是否已经正常启动,看到如下信息说明正常启动

/home/zqxy/nginx/sbin/nginx
ps -ef | grep nginx


如果要关闭nginx,我们可以使用如下命令:

/home/zqxy/nginx/sbin/nginx -s stop
通过浏览器访问nginx欢迎页,我们在地址栏输入:http://XXX.XXX.XX.XX/(80端口不用输也可以)或http://XXX.XXX.XX.XX:80/,如下图所示。

 

至此 我们安装好了NGINX服务,下面我们安装证书代理https接口

创建存放证书的目录

mkdir ssl
cd ssl
2.1生成证书

openssl genrsa -des3 -out cert.key 1024


2.2创建证书请求

openssl req -new -key cert.key -out cert.csr


cp cert.key cert.key.bak
openssl rsa -in cert.key.bak -out cert.key
2.3自签署证书
openssl x509 -req -days 365 -in cert.csr -signkey cert.key -out cert.pem

 

2.4将证书导出成浏览器支持的p12

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

2.5p12文件中导出公钥和私钥,生成cert.key文件

openssl pkcs12 -in cert.p12 -nocerts -nodes -out cert.key


导出公钥

openssl rsa -in cert.key -out cert_pri.pem


导出私钥

openssl rsa -in cert.key -pubout -out cert_pub.pem
证书生成完毕,

下面我们对nginx参数进行配置用于代理接口服务

3.1、当启动过nginx之后,我们到/home/zqxy/nginx目录下,可以看到有conf、html、logs、sbin四个文件这四个文件是刚解压后就有的,是nginx重要的文件,还可以看到几个_temp结尾的文件,这些都是启动后生成的文件,我们暂且不用去管它们。我们使用cd conf命令进入conf目录,该目录下有个nginx.conf文件,这是nginx最重要的文件,我们修改nginx就是修改该文件,如下所示

cd /home/zqxy/nginx/conf
vim nginx.conf
其他配置文件不需要修改只需要修改https部分,修改前

 

修改后

 

 

server {
listen 443 ssl;
server_name localhost;
ssl on;
ssl_certificate /home/zqxy/ssl/cert.pem;
ssl_certificate_key /home/zqxy/ssl/cert.key;

# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;

# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;

location / {
add_header 'Access-Control-Allow-Origin' '*';
proxy_pass https://api.cycredit.com.cn;
#root html;
#index index.html index.htm;
}
}
重启nginx服务

 

如果配置完成够 访问nginx 报404 检查防火墙配置开启443 端口

# 开放443端口
firewall-cmd --permanent --add-port=443/tcp

 

nginx匹配多个路径转发到同一个地址写法

location ~ ^/(路径1|路径2|路径3|路径4|路径5) {
proxy_pass 跳转的地址;
proxy_set_header $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header x-tif-uid $http_x_tif_uid;
proxy_connect_timeout 600;
proxy_read_timeout 600;
proxy_send_timeout 600;
proxy_ignore_client_abort on;
proxy_next_upstream timeout;
}

posted @ 2024-08-22 13:21  枫树湾河桥  阅读(39)  评论(0编辑  收藏  举报
Live2D