Repository navigation
Expand file tree
/
Copy pathNginx-反向代理.java
More file actions
92 lines (69 loc) · 2.22 KB
/
Copy pathNginx-反向代理.java
File metadata and controls
92 lines (69 loc) · 2.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
------------------------
Nginx-反向代理 |
------------------------
1,在Nginx的安装目录的:conf目录中
2,找到:nginx.conf文件
------------------------
Nginx-具体配置 |
------------------------
server {
//监听端口
listen 80;
//监听域名
server_name manager.kevinblandy.com;
//日志文件配置
#access_log logs/kevinblandy.com.access.log main;
//错误日志文件
#error_log logs/kevinblandy.com.error.log;
//转发客户端请求的时候携带的域名
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
//转发客户端真实IP(通过 request.getHeader("X-Requested-For")获取)
proxy_set_header X-Requested-For $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
//映射
location / {
//转发地址+端口
proxy_pass http://127.0.0.1:8081;
//连接超时
proxy_connect_timeout 600;
//读取超时
proxy_read_timeout 600;
}
}
# 解决JAVA代码中获取客户端真实的访问IP
String ip1 = request.getHeader("X-Requested-For");
# 解决Tomcat 日志中,客户端的真实访问IP
# 修改tomcat日志配置:(<host></host>中间)
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="tomcat_access_log" suffix=".txt"
pattern="%{X-Requested-For}i %l %u %t "%r" %s %b"
resolveHosts="false"/>
* 没有Nginx这一层的时候直接用%a就可以获得客户端IP,现在我们得用%{X-Requested-For}i 来获得真实的IP了。
* 其实只需要修改:%h %l %u %t "%r" %s %b 原始值就OK
* 替换为:%{X-Requested-For}i %l %u %t "%r" %s %b
------------------------
Nginx-静态文件 |
------------------------
server{
listen 80;
server_name static.kevinblandy.com;
location / {
root /usr/local/static;
autoindex on; # 开启索引
autoindex_exact_size on; # 显示文件大小
autoindex_localtime on; # 显示最后修改时间
}
}
------------------------
Nginx-WebSocket |
------------------------
# 反向代理WebSocket,需要添加一些配置
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
------------------------
Nginx-变量 |
------------------------