other#nginx配置
#user nobody;
worker_processes ; #error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info; pid logs/nginx.pid; events {
worker_connections ;
} http {
include mime.types;
default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on;
#tcp_nopush on; #keepalive_timeout ;
keepalive_timeout ; #gzip on; # proxy_pass 和 fastcgi_pass中会用到 upstream定义的代理服务器
# upstream 中可以定义多个server 代理服务器
upstream vue{
server localhost:;
} server {
listen ;
server_name localhost;
#access_log logs/host.access.log main; location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://vue;
} #proxy_intercept_errors 针对location匹配后的结果是proxy_pass后的错误处理
proxy_intercept_errors on;
error_page /.html;
error_page /50x.html; location = /50x.html {
root html;
}
location = /.html {
root html;
} location /term {
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr; #完全可以自定义一个http header,在java中通过HttpServletRequest.getHeader(headerName)
#就可以获取到自定义头的值
#语法是 proxy_set_header headerName headerValue;
#如果headerValue不是nginx提供的变量,而是字符串,就通过单引号给引起来
proxy_set_header luo-hao-nan 'luohaonan';
proxy_pass http://localhost:8082/;
}
} } # c:\nginx-1.16.>nginx -h
# nginx version: nginx/1.16.
# Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives] # Options:
# -?,-h : this help
# -v : show version and exit
# -V : show version and configure options then exit
# -t : test configuration and exit
# -T : test configuration, dump it and exit
# -q : suppress non-error messages during configuration testing
# -s signal : send signal to a master process: stop, quit, reopen, reload
# -p prefix : set prefix path (default: NONE)
# -c filename : set configuration file (default: conf/nginx.conf)
# -g directives : set global directives out of configuration file # nginx简单配置思路
# 围绕着location展开,对匹配的路径进行 [被请求内容] 定位
# [被请求内容] 可以来自本地文件系统,由root指令指定[被请求内容]的存放位置
# [被请求内容] 也可以来自proxy_pass指令指定的地址,此时nginx将把请求转发到proxy_pass指令指定的地址 # proxy_pass指令后面的指定的地址 可以直接是一个url比如[http://localhost:8082/]
# proxy_pass指令后面的指定的地址 也可以是upstream定义的一组url的名称入上面的vue,此时请求被分发到vue对应的一组url上面 # 通过proxy_pass后在后端服务接口会丢失部前端用户的信息,比如说ip地址。为了解决这个问题,需要使用proxy_set_header指令,
# 通过proxy_set_header指令设置头信息,让头中包含自定义的信息,然后再后端服务接口中在手动取出对应的头信息就ok了,
# 比如所针对nginx代理后服务端接口使用java的情况下,HttpServletRequest.getRemoteAddr()获取到的是nginx的地址,而不是真实的
# 客户浏览器的地址,那么通过在location中设置proxy_set_header X-Real-IP $remote_addr;就可以在后端服务接口中通过header获取
# 客户的真实ip了。HttpServletRequest.getHeader("X-Real-IP").需要注意的是header名称是任意的,也可以设置成其他的名称,
# 要灵活的操作就ok了。 # 如果使用proxy_pass,同样想使用error_page功能,那么需要设置proxy_intercept_errors为on
other#nginx配置的更多相关文章
- nginx配置反向代理或跳转出现400问题处理记录
午休完上班后,同事说测试站点访问接口出现400 Bad Request Request Header Or Cookie Too Large提示,心想还好是测试服务器出现问题,影响不大,不过也赶紧上 ...
- Windos环境用Nginx配置反向代理和负载均衡
Windos环境用Nginx配置反向代理和负载均衡 引言:在前后端分离架构下,难免会遇到跨域问题.目前的解决方案大致有JSONP,反向代理,CORS这三种方式.JSONP兼容性良好,最大的缺点是只支持 ...
- Windows下Nginx配置SSL实现Https访问(包含证书生成)
Vincent.李 Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https ...
- Nginx 配置简述
不论是本地开发,还是远程到 Server 开发,还是给提供 demo 给人看效果,我们时常需要对 Nginx 做配置,Nginx 的配置项相当多,如果考虑性能配置起来会比较麻烦.不过,我们往往只是需要 ...
- Nginx配置详解
序言 Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的.从2004年发布至今,凭借开源的力量,已经接近成熟与完善. Nginx功能丰富,可作为HTTP服务器,也 ...
- Nginx配置Https
1.申请证书: https://console.qcloud.com/ssl?utm_source=yingyongbao&utm_medium=ssl&utm_campaign=qc ...
- nginx配置为windows服务中的坑
网上搜索“nginx 配置为windows服务”,很容易搜索到使用windows server warpper来配置,于是按照网上的方法我从github上的链接下载了1.17版本,前面都很顺利,很容易 ...
- 【nginx配置】nginx做非80端口转发
一个场景 最近在使用PHP重写一个使用JAVA写的项目,因为需要查看之前的项目,所以要在本地搭建一个Tomcat来跑JAVA的项目.搭建成功后,因为Tomcat监听的端口是8080,因此,访问的URL ...
- Apache、nginx配置的网站127.0.0.1可以正常访问,内外网的ip地址无法访问,谁的锅?
最近做开发,发现一个比较尴尬的问题.因为我是一个web开发者,经常要用到Apache或者nginx等服务器软件,经过我测试发现,只要我打开了adsafe,我便不能通过ip地址访问我本地的网站了,比如我 ...
- nginx配置301重定向
1. 简介 301重定向可以传递权重,相比其他重定向,只有301是最正式的,不会被搜索引擎判断为作弊 2. 栗子 savokiss.com 301到 savokiss.me 3. nginx默认配置方 ...
随机推荐
- laravel 左联报错问题
- 什么是 SDK?
通俗而言: 1.其实很简单,SDK 就是 Software Development Kit 的缩写,中问意思是: 软件开发工具包. 2.这是一个覆盖面相当广泛的名词,可以这么说: 辅助开发某一类软件的 ...
- PAT T1019 Separate the Animals
暴力搜索加剪枝,二进制保存状态,set去重~ #include<bits/stdc++.h> using namespace std; ; string s[maxn]; struct n ...
- burpsuite使用--暴力破解
测试靶机:dvwa 浏览器开启代理,使用burpsuite拦截: 并将拦截到的内容发送到intruder进行暴力破解 右边的Add$和Clear$都是选择爆破范围的操作,一个是选择,一个是清除,这里只 ...
- ES5-严格模式
在es5中可以开启一种严格模式的代码形式,开启方式是:将全局或者函数的第一条语句定义为:'use strict';. 如果浏览器不支持,会将其解析为一条普通语句,没有任何的副作用. 开启全局模式后会有 ...
- tomcat中servlet冲突问题
在启动tomcat以后,控制台发现“Offending class: javax/servlet/Servlet.class”信息: 信息: validateJarFile(E:\code\MyApp ...
- python爬虫(六) Cookie
什么是Cookie 在网站中,http的请求通常是无状态的(第一个和服务器连接并且登录之后,此时服务器知道是哪个用户,但是当第二次请求服务器时,服务器依然不知道当前请求的是哪个用户),cookie就是 ...
- bash脚本编程
一.bash中的变量 变量类型: 本地变量:只对当前shell进程有效,对其子shell以及其它shell都无效; 定义变量:[set]Var_name="value" 变量赋 ...
- Atcoder Grand Contest 037B(DP,组合数学,思维)
#include<bits/stdc++.h>using namespace std;const long long mod = 998244353;string s;int a[3000 ...
- 四、linux基础-系统目录_安装_相关命令_调度
4 系统目录-安装-版本4.1系统目录Linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录. 在装完Linux系统以后会自动生成一下等目录, ...