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默认配置方 ...
随机推荐
- sourceTree的忽略文件
在没有导入项目之前,就要把忽略配置好: *~ .DS_Store xcuserdata
- 从零构建以太坊(Ethereum)智能合约到项目实战——第20章 搭建自己的私有链网络
P75 .1-以太坊私网建立 .合约编译.部署完全教程(1) 使用此博文进行安装配置:https://blog.csdn.net/w88193363/article/details/79402074 ...
- Chrome 浏览器新功能:共享剪贴板
导读 Chrome 79 在桌面版和 Android 版浏览器中添加了一项新的功能,名为“共享剪贴板”(shared clipboard). 简单来说,就是可以实现在电脑端复制,手机端粘贴.有了这项功 ...
- Linux 长时间操作设置不断开
1.第一次尝试失败 修改/etc/ssh/sshd_config文件, 找到 ClientAliveInterval 0 ClientAliveCountMax 3 并将注释符号("#&qu ...
- MD5摘要
MD5简介 MD5即Message-Digest Algorithm 5(信息-摘要算法),属于摘要算法,是一个不可逆过程,就是无论多大数据,经过算法运算后都是生成固定长度的数据,结果使用16进制进行 ...
- SpringMVC 自定义类型转换
类型转换可以将请求参数转换为指定的类型.指定的格式(数据的格式化),然后传给业务方法的参数. Spring MVC内置了常用的类型转换器.如果内置的类型转换器满足不了需求,可以使用自定义的类型转换. ...
- 提高unigui开发效率的两个方法(02)
1.编译时自己退出运行的程序. 在做unigui开发时,每次编译运行时,unigui的应用都会在后台运行,每次重新编译时都必须手工在任务栏里将应用退出才行,非常麻烦,可以在项目编译的参数里加上杀进程的 ...
- FFmpeg调用c语言SDK实现日志的打印
日志文件的三大步 // 导入头文件 #include <libavutil/log.h> // 设置日志级别 av_log_set_level(AV_LOG_DEBUG); //DEBUG ...
- VS2010如何进行程序调试
VS2010如何进行程序调试 一.前言 对于初步学习C++的朋友,程序的调试是一项必备的技能.尤其是像C++这样难学的语言,程序调试的基本方法更是至关重要.毕竟,谁也不想自己幸幸苦苦一天敲出来的代码就 ...
- HTML的几个注意点
一.HTML 1.HTML5有哪些新特性?新增的标签有哪些? 新特性: 语义标签——语义化标签使得页面的内容结构化,见名知义 增强型表单——拥有多个新的表单 Input 输入类型.这些新特性提供了更好 ...