Nginx做代理
2024-10-11 16:22:58
0 查看日志
tail -f /var/log/nginx/access.log
1 Nginx代理配置语法
1.Nginx
代理配置语法
Syntax: proxy_pass URL;
Default: —
Context: location, if in location, limit_except
http://localhost:8000/uri/
http://192.168.56.11:8000/uri/
http://unix:/tmp/backend.socket:/uri/
2.类似于nopush
缓冲区
//尽可能收集所有头请求,
Syntax: proxy_buffering on | off;
Default:
proxy_buffering on;
Context: http, server, location
//扩展:
proxy_buffer_size
proxy_buffers
proxy_busy_buffer_size
3.跳转重定向
Syntax: proxy_redirect default;
proxy_redirect off;proxy_redirect redirect replacement;
Default: proxy_redirect default;
Context: http, server, location
4.头信息
Syntax: proxy_set_header field value;
Default: proxy_set_header Host $proxy_host;
proxy_set_header Connection close;
Context: http, server, location
//扩展:
proxy_hide_header
proxy_set_body
5.代理到后端的TCP
连接超时
Syntax: proxy_connect_timeout time;
Default: proxy_connect_timeout 60s;
Context: http, server, location
//扩展
proxy_read_timeout //以及建立
proxy_send_timeout //服务端请求完, 发送给客户端时间
6.Proxy
常见配置项具体配置如下
[root@Nginx ~]# vim /etc/nginx/proxy_params
proxy_redirect default;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 30;
proxy_send_timeout 60;
proxy_read_timeout 60;
proxy_buffer_size 32k;
proxy_buffering on;
proxy_buffers 4 128k;
proxy_busy_buffers_size 256k;
proxy_max_temp_file_size 256k;
//具体location实现
location / {
proxy_pass http://127.0.0.1:8080;
include proxy_params;
}
2 Nginx正向代理示例
Nginx
正向代理配置实例
//配置69.113访问限制,仅允许同网段访问
location ~ .*\.(jpg|gif|png)$ {
allow 192.168.69.0/24;
deny all;
root /soft/code/images;
}
//配置正向代理
[root@Nginx ~]# cat /etc/nginx/conf.d/zy_proxy.conf
server {
listen 80;
resolver 233.5.5.5;
location / {
proxy_pass http://$http_host$request_uri;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
//客户端使用SwitchySharp浏览器插件配置正向代理
3 Nginx反向代理示例
/proxy代理
[root@proxy ~]# cat /etc/nginx/conf.d/proxy.conf
server {
listen 80;
server_name nginx.bjstack.com;
index index.html;
location / {
proxy_pass http://192.168.56.100;
include proxy_params;
}
}
//WEB站点
[root@Nginx ~]# cat /etc/nginx/conf.d/images.conf
server {
listen 80;
server_name nginx.bjstack.com;
root /soft/code;
location / {
root /soft/code;
index index.html;
}
location ~ .*\.(png|jpg|gif)$ {
gzip on;
root /soft/code/images;
}
}
最新文章
- 记录软件工程课程项目开发时遇到的各种小问题(django)
- UISearchController 的用法[点击搜索框,自动到顶部]
- [C] zlstdint(让VC、TC等编译器自动兼容C99的整数类型)V1.0。支持Turbo C++ 3等DOS下的编译器
- AngularJS的学习--TodoMVC的分析
- ubuntu下修改mysql默认字符编码出现的Job failed to start解决办法
- 关于spring 3.0.5的 <;mvc:resources mapping=";***"; location=";***";>;标签的使用
- Android 使用AIDL调用外部服务
- Hadoop学习笔记(7) ——高级编程
- IOS Remote Notification
- 改动网卡IP信息
- Longest Substring Without Repeating Characters - 哈希与双指针
- Qt之启动外部程序(使用参数很全面,还使用了setProcessChannelMode)
- springboot中使用拦截器、监听器、过滤器
- 不要使用 JWT 进行会话管理
- 学习CSS布局 - box-sizing
- vue中文章的折叠于显示全部
- JQuery------各种版本下载
- mime设置
- class字节码结构(二)(访问标志、类索引、父类索引、接口索引集合)
- 004 关于Java如何扫描指定package下所有的类
热门文章
- rest_framework:响应器(渲染器)
- 初步自学Java小结
- 3_time
- Codeforces Round #600 (Div. 2) D。 Harmonious Graph
- shell编程基础知识
- 使用pip install mysqlclient命令安装mysqlclient失败?(基于Python)
- 用户注册(php)login(非美化)
- 后台异常 - Content is not allowed in prolog
- scw——03错误,swagger开启错误
- axios中then不用第二个参数,最好用catch