首页 > 系统相关 >Nginx部署/反向代理配置

Nginx部署/反向代理配置

时间:2023-07-18 11:14:28浏览次数:32  
标签:index nginx -- ca 代理 server Nginx 反向 local

1.Nginx用途介绍

   主要技术:地址转换

   负载均衡:将客户单请求,按照一定的规则分配到一群服务器上,并将处理结果返回给相应的客户端
   作用:负责调度客户端请求、消除单点故障、减少错误返回结果、session持久化。
   反向代理:客户端请求,经过反向代理,分发到各服务器,然后服务器将返回结果交给反向代理,反向代理在返回给客户端
   作用:增强安全性、加速web访问速度、增强可伸缩性、灵活性
   二者区别:负载只有在服务器大于2台的时候才有意义,侧重将负载均衡到各服务器。(部署位置:反向代理-->负载均衡-->集群)

2.Nginx安装及配置详细教程
   (1)安装依赖包

   yum install -y pcre pcre-devel openssl openssl-devel gcc gcc gcc-c++ ncurses-devel perl useradd www -M -s /sbin/nologin  --创建用户

   (2)编译安装Nginx
   wget http://nginx.org/download/nginx-1.8.0.tar.gz --下载Nginx软件包
   tar -zxvf nginx-1.8.0.tar.gz

   编译前准备:
   vim auto/cc/gcc --取消Debug编译模式,179行
   #CFLAGS="$CFLAGS -g" (加上注释)

   cd nginx-1.8.0
   ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module
   make && make install --编译安装

   (3)nginx启动
   cd /usr/local/nginx
   /usr/local/nginx/sbin/nginx --启动Nginx
   /usr/local/nginx/sbin/nginx -s reload/stop --关闭、重启

3.nginx反向代理配置
   (1)配置转发单台(单个ip)
   /usr/local/nginx/conf/nginx.conf
location / {
root html;
proxy_pass http://192.168.5.20:8090; (添加此行)
index index.html index.htm;
}

   (2)配置转发多个ip(多台服务器)
upstream redhatnginx{
server 192.168.59.137:9003;
}
upstream winserveriis{
server 192.168.59.157:80; (被代理的服务器ip地址+端口)
}
server {
listen 8081;
server_name testnginx.com;
location / {
proxy_pass http://redhatnginx;
index index.html index.htm;
}
}
server {
listen 8082; (代理端口)
server_name testwin.com; (域名)
location / {
proxy_pass http://winserveriis;
index index.html index.htm;
}
}
4.nginx反向代理(转发https/https卸载)

   内部http通过nginx转发为https,单台不用配置upstream
   先在Nginx上安装https证书:
   yum -y install mod_ssl
   openssl genrsa -out ca.key 2048
   openssl req -new -key ca.key -out ca.csr
   openssl x509 -req -days 36500 -in ca.csr -signkey ca.key -out ca.crt

   cp ca.crt /usr/local/nginx/conf/
   cp ca.key /usr/local/nginx/conf/
   cp ca.csr /usr/local/nginx/conf/

   然后配置:/usr/local/nginx/conf/nginx.conf (取消最后注释行,填写证书对应得路径,填写对应得ip)(upstream也需配置)
upstream winserveriis{
server 192.168.5.20:8090; (被代理的服务器ip地址+端口)
}
server {
listen 443 ssl;
server_name localhost;
ssl_certificate ca.crt;
ssl_certificate_key ca.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;

location / {
proxy_pass http://192.168.5.20:8090/;
index index.html index.htm;
}
}

}

   配置完成,然后重启nginx:  /usr/local/nginx/sbin/nginx -s reload
   即可实现nginx反向代理和https卸载

标签:index,nginx,--,ca,代理,server,Nginx,反向,local
From: https://www.cnblogs.com/huchao12/p/17562337.html

相关文章

  • git clone work with proxy 设置代理
    设置代理gitconfig--globalhttp.proxyhttp://localhost:7890查看gitconfig--global--gethttp.proxyReferencehttps://stackoverflow.com/questions/783811/getting-git-to-work-with-a-proxy-server-fails-with-request-timed-out......
  • shell脚本-Nginx访问日志分析
    shell脚本-Nginx访问日志分析1.原理可以通过/usr/local/nginx/logs/access.log文件-查看nginx的日志[root@localhostscripts]#tail-f/usr/local/nginx/logs/access.log192.168.70.1-[17/Jul/2023:17:35:21+0800]"GET/HTTP/1.1"200173833"-""Mozilla......
  • net core-反向代理
    推荐使用框架:Yarp.ReverseProxy,微软开源的框架一基本使用varbuilder=WebApplication.CreateSlimBuilder(args);builder.Services.AddReverseProxy().LoadFromConfig(builder.Configuration.GetSection("ReverseProxy"));varapp=builder.Build();app.MapRevers......
  • python实现跨域代理服务器
    准备环境python3.7+依赖:aiohttp代码实现(代理服务器,返回响应体和进行跨域处理后的headers)importaiohttpfromfunctoolsimportwrapsfromaiohttpimportwebcorscode={'Access-Control-Allow-Origin':'*','Access-Contr......
  • Nginx+Lua实现自定义WAF(一)
    安装环境:centOS71810 Step1:安装编译所依赖的软件pcre-devel:扩展的正则表达式引擎,为了使Nginx处理更复杂的正则表达式机制openssl-devel:–with-http_ssl_module使用该模块必需装openssl库,来实现http支持https协议zlib-devel:zlib库是网络通信压缩库,ngx_http_gzip_module(gzip......
  • windows安装nginx
    windows安装nginx安装环境操作系统:windows11。nginx版本:1.20.2。这只是我的安装环境,你安装的时候,如果你的操作系统版本和我的不一样,应该也不影响,但是希望安装的nginx版本最好和我的一样,我相信你按照我的教程步骤来安装一定会安装成功的。nginx下载百度网盘下载:https://......
  • 服务器笔记之nginx安装SSL证书
    服务器笔记之安装SSL证书参考腾讯云服务器官方文档进行配置SSL证书Nginx服务器SSL证书安装部署-证书安装-文档中心-腾讯云(tencent.com)【一】前提条件已经注册并备案过的域名已获取证书【二】下载证书SSL证书Nginx服务器SSL证书安装部署-证书安装-文......
  • Nginx代码导入CLion
    安装mingw64C/C++编译器GCC的Windows版本https://sourceforge.net/projects/mingw/从官网下载后勾选勾选全部后关闭窗口时选择reviewchanges设置环境变量通过命令gcc-v检验是否设置成功。打开代码后,打开某个c文件,选择CreateCMakeLists.txt直接点击OK......
  • 利用Python的JSON以及Base64模块实现二进制文件传输及反向Shell
    控制端代码:importsocketimportoptparseimportsysimportthreadingimportjsonimportbase64classMyTCPServer:def__init__(self)->None:self.port=self.get_param()try:self.s_socket=socket.socket(socket.AF_INET,......
  • Java扩展Nginx之六:两大filter
    欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos本篇概览本文是《Java扩展Nginx》系列的第六篇,前文的五大handler形成了nginx-clojure开发的基本框架,初步评估已经可以支撑简单的需求开发了,但nginx-clojure并未止步于han......