forked from flftfqwxf/mockserver
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnginx.conf
156 lines (140 loc) · 4.94 KB
/
nginx.conf
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
server {
listen 80;
server_name example.com www.example.com;
root /Users/leixianhua/project/thinkjs/thinkjs/www;
set $node_port 8360;
index index.js index.html index.htm;
if ( -f $request_filename/index.html ){
rewrite (.*) $1/index.html break;
}
if ( !-f $request_filename ){
rewrite (.*) /index.js;
}
location = /index.js {
proxy_http_version 1.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://127.0.0.1:$node_port$request_uri;
proxy_redirect off;
}
location = /development.js {
deny all;
}
location = /testing.js {
deny all;
}
location = /production.js {
deny all;
}
location ~ /static/ {
etag on;
expires max;
}
}
server {
listen 80;
server_name your.site.com;
root /Users/leixianhua/project/mock-server/example;
gzip_static on;
location ^~ /api {
set $is_proxy 0;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
if ($http_is_mock_server_proxy){
# $http_is_mock_server_proxy is mock-server writed header
set $is_proxy $http_is_mock_server_proxy;
}
if ($is_proxy = 0 ){
rewrite ^/api/(.*) '/8a15fbb94471050bb46f/api/$1' break;
proxy_pass http://127.0.0.1:8033/;
break;
}
#当二次代理开启并且 二次代理域名与 [server_name]一样时判断
#如果是从是 mock-server代理来的请求,则不再次代理,否则会出现无限循环代理,并返回错误
if ($is_proxy = 1 ){
add_header http_is_mock_server_proxy "$is_proxy";
proxy_pass http://127.0.0.1:8034;
break;
}
}
location / {
proxy_pass http://127.0.0.1:8034;
}
}
## http/2 nginx conf
# server {
# listen 80;
# server_name example.com www.example.com;
# rewrite ^(.*) https://example.com$1 permanent;
# }
#
# server {
# listen 443 ssl http2 fastopen=3 reuseport;
# server_name www.thinkjs.org thinkjs.org;
# set $node_port 8360;
#
# root /Users/leixianhua/project/thinkjs/thinkjs/www;
#
# keepalive_timeout 70;
#
# ssl_certificate /path/to/certificate;
# ssl_certificate_key /path/to/certificate.key;
# ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
# ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA";
# ssl_prefer_server_ciphers on;
# # openssl dhparam -out dhparams.pem 2048
# ssl_dhparam /path/to/dhparams.pem;
#
# ssl_session_cache shared:SSL:10m;
# ssl_session_timeout 10m;
#
# ssl_session_ticket_key /path/to/tls_session_ticket.key;
# ssl_session_tickets on;
#
# ssl_stapling on;
# ssl_stapling_verify on;
# ssl_trusted_certificate /path/to/startssl_trust_chain.crt;
#
#
# add_header x-Content-Type-Options nosniff;
# add_header X-Frame-Options deny;
# add_header Strict-Transport-Security "max-age=16070400";
#
# index index.js index.html index.htm;
# if ( -f $request_filename/index.html ){
# rewrite (.*) $1/index.html break;
# }
# if ( !-f $request_filename ){
# rewrite (.*) /index.js;
# }
# location = /index.js {
# proxy_http_version 1.1;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header Host $http_host;
# proxy_set_header X-NginX-Proxy true;
# proxy_set_header Upgrade $http_upgrade;
# proxy_set_header Connection "upgrade";
# proxy_pass http://127.0.0.1:$node_port$request_uri;
# proxy_redirect off;
# }
#
# location = /production.js {
# deny all;
# }
#
# location = /testing.js {
# deny all;
# }
#
# location ~ /static/ {
# etag on;
# expires max;
# }
#}