nginx配置代理转发(nginx配置代理转发无效)
大家好!今天让创意岭的小编来大家介绍下关于nginx配置代理转发的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。
ChatGPT国内免费在线使用,一键生成原创文章、方案、文案、工作计划、工作报告、论文、代码、作文、做题和对话答疑等等
只需要输入关键词,就能返回你想要的内容,越精准,写出的就越详细,有微信小程序端、在线网页版、PC客户端
本文目录:
一、nginx 一直都在做7层转发,4层也需要看看
一.简单介绍
nginx 的功能非常强大,其中作为代理服务器是非常常用的功能,但是之前的nginx代理只能做七层代理,也就说是基于应用层面的代理,TCP层面的代理一般会配合haproxy 来使用。
自从nginx 1.9 以后通过stream模块实现了tcp 代理功能,无需其他软件配合即可实现四层代理和七层代理,即:访问该服务器的指定端口,nginx就可以充当端口转发的作用将流量导向另一个服务器,同时获取目标服务器的返回数据并返回给请求者。
nginx的TCP代理功能跟nginx的反向代理不同的是:请求该端口的所有流量都会转发到目标服务器,而在反向代理中可以细化哪些请求分发给哪些服务器;另一个不同的是,nginx做TCP代理并不仅仅局限于WEB的URL请求,还可以转发如memcached、MySQL、oracle等点到点的请求
二.配置4层转发关于nginx的硬性要求(只涉及1.9以上的版本)
1.nginx的版本必须在1.9以上(如果要使用stream模块的话)
2.nginx必须有stream模块的编译
三.查看是否支持stream模块
/usr/local/nginx/sbin/nginx -V | grep stream
如果有返回说明已经编译了,如果没有需要重新编译
编译方法参考 https://www.jianshu.com/p/21d1191f609c
将模块替换成 --with-stream
四.配置要求
通过本地的3389跳转到192.168.9.121的8088端口
五.编写配置文件:
请注意,stream块和http块是两个不同的模块,stream不属于http模块,即不能放到/etc/nginx/conf.d/,stream是通过tcp层转发,而不是http转发
2.mkdir /usr/local/nginx/conf/tcp.d
3.添加配置信息:
vim openldap.conf
4.检查配置文件并重新启动nginx
5.查看telenet查看端口是否可以访问
telnet nginx的IP地址 3389
二、Nginx 配置反向代理 Tomcat
前言: 如果你在 ./configure 时没有添加 --prefix= 指向安装目录,那配置文件的路径就在 /usr/local/nginx/conf/
先看一下配置前,我们80端口是什么页面
切换目录
目录下有许多的文件
我们需要操作的是nginx.conf这个配置文件
接下来开始添加Tomcat
为了日后方便维护,我们建一个名为http的文件夹
文件内容如下
保存并退出
接下来编辑 conf下的nginx.conf
在 http 下添加 include http/*.conf; 别忘了分号
如果你在使用 nginx 命令时出现
成功!
listen: 监听端口
server_name: 多个server时必须有,一般放的域名
proxy_pass: 代理地址,通过端口监听到的请求转发到的目的地址
index: 代理地址访问页面优先级,如我的是优先访问index.html最后是index.php
配置有很多,我接触较少 我要看更多配置
三、nginx 正向代理 配置https 双向认证
项目中需要使用代理访问目标服务器,服务方只接受https请求,并且使用双向认证 经历了一番波折总算配置成功
现在讲配置过程记录下来。
首先是nginx 配置问题
查阅官方文档
http://nginx.org/en/docs/http/ngx_http_proxy_module.html
以下两项配置https 客户端认证私钥与证书
proxy_ssl_certificate
proxy_ssl_certificate_key
以下项目配置代理转发地址
proxy_pass https://127.0.0.1:8443$request_uri;
配置文件
其中有一个坑在与配置代理转发地址时,如果不添加https:// 客户端请求的时候会报错,所以这里一定要写上。
上面这些都配置好后,代理就能正常使用了。
此外,证书问题可能有些人还会遇到问题,推荐的解决方案是在linux 下使用keytool+opensll 来进行证书转换,openssl需可能需要单独安装,具体方式可以问度娘。
以下提供从jks中获取pem格式证书和私钥的方法:
1、提取公钥:
切换到jks证书的存储路径,执行如下命令:keytool -list -rfc -keystore demo.jks -storepass demopwd
将证书内容完整复制,粘贴到文件中,保存为cer.pem
2、提取私钥
私钥无法直接提取,需要将jks进行转换
1)keytool -importkeystore -srckeystore dem.jks -destkeystore demo.p12 -srcstoretype jks -deststoretype pkcs12
2)openssl pkcs12 -nodes -in 10411004511201290.p12 -out demo.pem
vim demo.pem
将-----BEGIN PRIVATE KEY----- ……-----END PRIVATE KEY----- 之间内容(包含) 进行复制,粘贴到新文件中,保存名称为privateKey.pem
或者可以直接执行第二个提取私钥操作 执行vim demo.pem 后可以看到证书和私钥,分别保存成两个pem文件即可。
四、vue项目打包之后不通过nginx怎么配置转发代理
vue项目打包之后不通过nginx配置转发代理是:
1、Vue项目打包在终端中执行npmrunbuild1打包完成在项目的dist目录看到index.html。目录的所有文件放到nginx服务器访问。
2、下载得到一个zip的压缩包,解压用。
3、在html文件夹中新建一个hhdglm文件,打包的东西放进去。
以上就是关于nginx配置代理转发相关问题的回答。希望能帮到你,如有更多相关问题,您也可以联系我们的客服进行咨询,客服也会为您讲解更多精彩的知识和内容。
推荐阅读: