windows下nginx代理ftp服务器
一、代理到本地静态文件
我所在的开发环境里,nginx和ftp在同一台服务器。
ftp根目录:

nginx的配置:
在nginx.conf中加入:
server {
listen ;
server_name localhost;
location / {
root C:/FTPRoot;
index *.*;
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
}
}
然后重新加载配置文件即可,参考:https://www.cnblogs.com/qianzf/p/6809427.html。
如果是linux下,配置举例:
server {
listen ;
server_name localhost;
location / {
root /usr/local/src/WEB/dist;
try_files $uri /index.html index.html;
}
}
二、nginx配置:通过端口进行负载均衡
#user nobody;
worker_processes 1; #error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info; #pid logs/nginx.pid; events {
worker_connections 1024;
} 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 0;
keepalive_timeout 65; #gzip on; server {
listen 9004; location /igt {
root /usr/local/nginx/webapps;
index index.html;
}
}
upstream 8080tomcat {
server 10.11.12.61:8080 weight=1;
server 10.11.12.62:8080 weight=1;
}
server {
listen 8080;
server_name localhost; location / {
root html;
index index.html index.htm;
proxy_pass http://8080tomcat;
} error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
} } upstream 9080tomcat {
server 10.11.12.105:9080 weight=1;
server 10.11.12.106:9080 weight=1;
}
server {
listen 9080;
server_name localhost; location / {
root html;
index index.html index.htm;
proxy_pass http://9080tomcat;
} error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
} } }
这其中,根据端口会分发到不同的后端集群中。
三、nginx配置前后端分离项目
一般的项目中,前后端分离。前端是纯粹的html,直接放nginx。前端项目中,会指定后端的地址。
我们可以将后端的地址,指定为nginx的ip+后端服务的端口。
然后,在nginx中,再像上述第二节那样配置端口转发。
本例中,nginx的ip为:10.11.12.107
1、配置前端
server {
listen 9004;
location /igt {
root /usr/local/nginx/webapps;
index index.html;
}
}
前端项目的位置如下:

2、在前端项目中配置后端服务的url

3、配置负载均衡,并携带客户端真实ip
upstream 9080tomcat{
server 10.11.12.105:9080 weight=1;
server 10.11.12.106:9080 weight=1;
}
server {
listen 9080;
server_name localhost;
location / {
root html;
index index.html index.htm;
proxy_pass http://9080tomcat;
//这里怎么将客户端真实的ip传给后台服务呢,按下面这样配置
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
} }
然后在后端的服务里,可以这样获取(java举例:)
public static String getRemortIP(HttpServletRequest request) {
if (request.getHeader("x-forwarded-for") == null) {
return request.getRemoteAddr();
}
return request.getHeader("x-forwarded-for");
}
windows下nginx代理ftp服务器的更多相关文章
- Windows下IIS搭建Ftp服务器
第一步:启用Windows IIS Web服务器 1.1 控制面板中找到"程序"并打开 1.2 程序界面找到"启用或关闭Windows功能"并打开 1.3 上面 ...
- Windows下nginx配置多台服务器做负载均衡
Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务. Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3 ...
- Windows下Nginx实现负载均衡
Apache,Nginx Apache和Nginx都属于属于 静态页面服务器,都有插件支持动态编程语言处理,但Nginx的IO模比Apache更适合跑代理.所以一般都作为前端缓冲代理(Nginx的反向 ...
- [转]Windows 下 Nginx+IIS 使用
本文转自:https://blog.csdn.net/chihen/article/details/52698594 Windows 下 Nginx+IIS 使用 一.Nginx简介 Nginx (& ...
- Windows下Nginx配置SSL实现Https访问(包含证书生成)
Vincent.李 Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https ...
- Windows下Nginx Virtual Host多站点配置详解
Windows下Nginx Virtual Host多站点配置详解 此教程适用于Windows系统已经配置好Nginx+Php+Mysql环境的同学. 如果您还未搭建WNMP环境,请查看 window ...
- windows下运行的linux服务器批量管理工具(带UI界面)
产生背景: 由于做服务器运维方面的工作,需要一人对近千台LINUX服务器进行统一集中的管理,如同时批量对LINUX服务器执行相关的指令.同时批量对LINUX服务器upload程序包.同时批量对LINU ...
- windows下nginx的启动关闭
Windows下Nginx的启动.停止等命令 在Windows下使用Nginx,我们需要掌握一些基本的操作命令,比如:启动.停止Nginx服务,重新载入Nginx等,下面我就进行一些简单的介绍. .启 ...
- Windows下Nginx的启动、停止等命令
Windows下Nginx的启动.停止等命令 在Windows下使用Nginx,我们需要掌握一些基本的操作命令,比如:启动.停止Nginx服务,重新载入Nginx等,下面我就进行一些简单的介绍.1.启 ...
随机推荐
- Cesium home键定位的位置
Cesium.Camera.DEFAULT_VIEW_RECTANGLE = Cesium.Rectangle.fromDegrees(80, 22, 130, 50);//home定位到中国范围
- for..of与for..in
var arr=[1,2,3,5] undefined for(var m of arr) console.log(m)//1,2,3,5 for(var m in arr) console.log( ...
- 走进webpack(1)--环境拆分及模块化
初级的文章和demo已经基本完成了,代码也已经上传到了我的github上,如果你对webpack的使用并不是十分了解,那么建议你回头看下走近系列,里面包括了当前项目中使用频繁的插件,loader的讲解 ...
- 1833 深坑 TLE 求解
题目描述: 大家知道,给出正整数n,则1到n这n个数可以构成n!种排列,把这些排列按照从小到大的顺序(字典顺序)列出,如n=3时,列出1 2 3,1 3 2,2 1 3,2 3 1,3 1 2,3 2 ...
- 控制input只能输入数字和两位小数
<input type="text" name="je" onkeyup="clearNoNum(this)" /> funct ...
- Spring AOP 的proxy详解
spring 提供了多种不同的方案实现对 bean 的 aop proxy, 包括 ProxyFactoryBean, 便利的 TransactionProxyFactoryBean 以及 AutoP ...
- JDK中的Timer和TimerTask详解
http://www.cnblogs.com/lingiu/p/3782813.html
- 实现Windows程序的数据的绑定
1.创建DataSet对象 语法: DataSet 数据集对象 =new DataSet("数据集的名称字符串"); 语法中的参数是数据集的名称字符串,可以有,也可以没有.如 ...
- Beta Scrum Day 4
听说
- 【iOS】单元测试
iOS单元测试(作用及入门提升) 字数1704 阅读16369 评论26 喜欢247 由于只是一些简单实用的东西,学学还是挺不错的.其实单元测试用的好,开发起来也会快很多.单元测试对于我目前来说,就是 ...