proxy.nginx.conf 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295
  1. # web proginn
  2. server {
  3. listen 80;
  4. server_name {{domain}}.test.proginn.com;
  5. set $temp_request_id $http_x_request_id;
  6. if ($temp_request_id = "") {
  7. set $temp_request_id $request_id;
  8. }
  9. set $temp_scheme $http_x_forwarded_proto;
  10. if ($temp_scheme = "") {
  11. set $temp_scheme $scheme;
  12. }
  13. set $temp_addr $http_x_forwarded_for;
  14. if ($temp_addr = "") {
  15. set $temp_addr $remote_addr;
  16. }
  17. add_header 'X-Request-Id' "$temp_request_id";
  18. access_log /data/log/proginn-access.log proginn-logid;
  19. if ($http_user_agent ~* (SemrushBot|python|MJ12bot|AhrefsBot|AhrefsBot|hubspot|opensiteexplorer|leiki|webmeup|DotBot|Baiduspider|spider)) {
  20. return 444;
  21. }
  22. if ($http_referer ~* (lottery|shishissc)) {
  23. return 444;
  24. }
  25. location = /robots.txt {
  26. alias /code/web/norobots.txt;
  27. }
  28. location / {
  29. limit_req zone=byip burst=100;
  30. proxy_pass http://{{ip}}/;
  31. proxy_set_header Host $http_host;
  32. proxy_set_header X-Real-IP $temp_addr;
  33. proxy_set_header X-Forwarded-For $temp_addr;
  34. proxy_set_header X-Forwarded-Proto $temp_scheme;
  35. proxy_set_header X-Scheme $temp_scheme;
  36. proxy_set_header Origin $http_origin;
  37. proxy_set_header X-Request-Id $temp_request_id;
  38. proxy_http_version 1.1;
  39. #=========================CORS nginx配置=============================
  40. if ($http_origin ~* (https?://([0-9a-z\-_]+\.)\.test\.proginn\.com(:[0-9]+)?)$) {
  41. set $cors "true";
  42. }
  43. if ($request_method = 'OPTIONS') {
  44. set $cors "${cors}options";
  45. }
  46. if ($request_method = 'GET') {
  47. set $cors "${cors}get";
  48. }
  49. if ($request_method = 'POST') {
  50. set $cors "${cors}post";
  51. }
  52. if ($cors = "trueget") {
  53. add_header 'Access-Control-Allow-Origin' "$http_origin";
  54. add_header 'Access-Control-Allow-Credentials' 'true';
  55. }
  56. if ($cors = "truepost") {
  57. add_header 'Access-Control-Allow-Origin' "$http_origin";
  58. add_header 'Access-Control-Allow-Credentials' 'true';
  59. }
  60. if ($cors = "trueoptions") {
  61. add_header 'Access-Control-Allow-Origin' "$http_origin";
  62. # add_header 'Access-Control-Allow-Origin' '*';
  63. add_header 'Access-Control-Allow-Credentials' 'true';
  64. add_header 'Access-Control-Max-Age' 1728000;
  65. add_header 'Access-Control-Allow-Headers' 'Authorization,Content-Type,Accept,Origin,User-Agent,DNT,Cache-Control,X-Mx-ReqToken,Keep-Alive,X-Requested-With,If-Modified-Since,X-CSRF-TOKEN,Cookie';
  66. add_header 'Content-Length' 0;
  67. add_header 'Content-Type' 'text/plain charset=UTF-8';
  68. # return 204;
  69. return 200;
  70. }
  71. }
  72. }
  73. # web rooter
  74. server {
  75. listen 80;
  76. server_name {{domain}}.test-rooter.proginn.com;
  77. set $temp_request_id $http_x_request_id;
  78. if ($temp_request_id = "") {
  79. set $temp_request_id $request_id;
  80. }
  81. set $temp_scheme $http_x_forwarded_proto;
  82. if ($temp_scheme = "") {
  83. set $temp_scheme $scheme;
  84. }
  85. set $temp_addr $http_x_forwarded_for;
  86. if ($temp_addr = "") {
  87. set $temp_addr $remote_addr;
  88. }
  89. add_header 'X-Request-Id' "$temp_request_id";
  90. access_log /data/log/rooter-access.log proginn-logid;
  91. if ($http_user_agent ~* (SemrushBot|python|MJ12bot|AhrefsBot|AhrefsBot|hubspot|opensiteexplorer|leiki|webmeup|DotBot|Baiduspider|spider)) {
  92. return 444;
  93. }
  94. if ($http_referer ~* (lottery|shishissc)) {
  95. return 444;
  96. }
  97. location = /robots.txt {
  98. alias /code/web/norobots.txt;
  99. }
  100. location / {
  101. limit_req zone=byip burst=100;
  102. proxy_pass http://{{ip}}/;
  103. proxy_set_header Host $http_host;
  104. proxy_set_header X-Real-IP $temp_addr;
  105. proxy_set_header X-Forwarded-For $temp_addr;
  106. proxy_set_header X-Forwarded-Proto $temp_scheme;
  107. proxy_set_header X-Scheme $temp_scheme;
  108. proxy_set_header Origin $http_origin;
  109. proxy_set_header X-Request-Id $temp_request_id;
  110. proxy_http_version 1.1;
  111. #=========================CORS nginx配置=============================
  112. if ($http_origin ~* (https?://([0-9a-z\-_]+\.)\.test\-rooter\.proginn\.com(:[0-9]+)?)$) {
  113. set $cors "true";
  114. }
  115. if ($request_method = 'OPTIONS') {
  116. set $cors "${cors}options";
  117. }
  118. if ($request_method = 'GET') {
  119. set $cors "${cors}get";
  120. }
  121. if ($request_method = 'POST') {
  122. set $cors "${cors}post";
  123. }
  124. if ($cors = "trueget") {
  125. add_header 'Access-Control-Allow-Origin' "$http_origin";
  126. add_header 'Access-Control-Allow-Credentials' 'true';
  127. }
  128. if ($cors = "truepost") {
  129. add_header 'Access-Control-Allow-Origin' "$http_origin";
  130. add_header 'Access-Control-Allow-Credentials' 'true';
  131. }
  132. if ($cors = "trueoptions") {
  133. add_header 'Access-Control-Allow-Origin' "$http_origin";
  134. # add_header 'Access-Control-Allow-Origin' '*';
  135. add_header 'Access-Control-Allow-Credentials' 'true';
  136. add_header 'Access-Control-Max-Age' 1728000;
  137. add_header 'Access-Control-Allow-Headers' 'Authorization,Content-Type,Accept,Origin,User-Agent,DNT,Cache-Control,X-Mx-ReqToken,Keep-Alive,X-Requested-With,If-Modified-Since,X-CSRF-TOKEN,Cookie';
  138. add_header 'Content-Length' 0;
  139. add_header 'Content-Type' 'text/plain charset=UTF-8';
  140. # return 204;
  141. return 200;
  142. }
  143. }
  144. }
  145. # web jishuin
  146. server {
  147. listen 80;
  148. server_name {{domain}}.test-jishuin.proginn.com;
  149. set $temp_request_id $http_x_request_id;
  150. if ($temp_request_id = "") {
  151. set $temp_request_id $request_id;
  152. }
  153. set $temp_scheme $http_x_forwarded_proto;
  154. if ($temp_scheme = "") {
  155. set $temp_scheme $scheme;
  156. }
  157. set $temp_addr $http_x_forwarded_for;
  158. if ($temp_addr = "") {
  159. set $temp_addr $remote_addr;
  160. }
  161. add_header 'X-Request-Id' "$temp_request_id";
  162. access_log /data/log/jishuin-access.log proginn-logid;
  163. if ($http_user_agent ~* (SemrushBot|python|MJ12bot|AhrefsBot|AhrefsBot|hubspot|opensiteexplorer|leiki|webmeup|DotBot|Baiduspider|spider)) {
  164. return 444;
  165. }
  166. if ($http_referer ~* (lottery|shishissc)) {
  167. return 444;
  168. }
  169. location / {
  170. limit_req zone=byip burst=100;
  171. proxy_pass http://{{ip}}/;
  172. proxy_set_header Host $http_host;
  173. proxy_set_header X-Real-IP $temp_addr;
  174. proxy_set_header X-Forwarded-For $temp_addr;
  175. proxy_set_header X-Forwarded-Proto $temp_scheme;
  176. proxy_set_header X-Scheme $temp_scheme;
  177. proxy_set_header Origin $http_origin;
  178. proxy_set_header X-Request-Id $temp_request_id;
  179. proxy_http_version 1.1;
  180. #=========================CORS nginx配置=============================
  181. if ($http_origin ~* (https?://([0-9a-z\-_]+\.)\.test\-jishuin\.proginn\.com(:[0-9]+)?)$) {
  182. set $cors "true";
  183. }
  184. if ($request_method = 'OPTIONS') {
  185. set $cors "${cors}options";
  186. }
  187. if ($request_method = 'GET') {
  188. set $cors "${cors}get";
  189. }
  190. if ($request_method = 'POST') {
  191. set $cors "${cors}post";
  192. }
  193. if ($cors = "trueget") {
  194. add_header 'Access-Control-Allow-Origin' "$http_origin";
  195. add_header 'Access-Control-Allow-Credentials' 'true';
  196. }
  197. if ($cors = "truepost") {
  198. add_header 'Access-Control-Allow-Origin' "$http_origin";
  199. add_header 'Access-Control-Allow-Credentials' 'true';
  200. }
  201. if ($cors = "trueoptions") {
  202. add_header 'Access-Control-Allow-Origin' "$http_origin";
  203. # add_header 'Access-Control-Allow-Origin' '*';
  204. add_header 'Access-Control-Allow-Credentials' 'true';
  205. add_header 'Access-Control-Max-Age' 1728000;
  206. add_header 'Access-Control-Allow-Headers' 'Authorization,Content-Type,Accept,Origin,User-Agent,DNT,Cache-Control,X-Mx-ReqToken,Keep-Alive,X-Requested-With,If-Modified-Since,X-CSRF-TOKEN,Cookie';
  207. add_header 'Content-Length' 0;
  208. add_header 'Content-Type' 'text/plain charset=UTF-8';
  209. # return 204;
  210. return 200;
  211. }
  212. }
  213. }
  214. # web festival
  215. server {
  216. listen 80;
  217. server_name {{domain}}.test-festival.proginn.com;
  218. set $temp_request_id $http_x_request_id;
  219. if ($temp_request_id = "") {
  220. set $temp_request_id $request_id;
  221. }
  222. set $temp_scheme $http_x_forwarded_proto;
  223. if ($temp_scheme = "") {
  224. set $temp_scheme $scheme;
  225. }
  226. set $temp_addr $http_x_forwarded_for;
  227. if ($temp_addr = "") {
  228. set $temp_addr $remote_addr;
  229. }
  230. add_header 'X-Request-Id' "$temp_request_id";
  231. access_log /data/log/jishuin-access.log proginn-logid;
  232. if ($http_user_agent ~* (SemrushBot|python|MJ12bot|AhrefsBot|AhrefsBot|hubspot|opensiteexplorer|leiki|webmeup|DotBot|Baiduspider|spider)) {
  233. return 444;
  234. }
  235. if ($http_referer ~* (lottery|shishissc)) {
  236. return 444;
  237. }
  238. location / {
  239. limit_req zone=byip burst=100;
  240. proxy_pass http://{{ip}}/;
  241. proxy_set_header Host $http_host;
  242. proxy_set_header X-Real-IP $temp_addr;
  243. proxy_set_header X-Forwarded-For $temp_addr;
  244. proxy_set_header X-Forwarded-Proto $temp_scheme;
  245. proxy_set_header X-Scheme $temp_scheme;
  246. proxy_set_header Origin $http_origin;
  247. proxy_set_header X-Request-Id $temp_request_id;
  248. proxy_http_version 1.1;
  249. #=========================CORS nginx配置=============================
  250. if ($http_origin ~* (https?://([0-9a-z\-_]+\.)\.test\-festival\.proginn\.com(:[0-9]+)?)$) {
  251. set $cors "true";
  252. }
  253. if ($request_method = 'OPTIONS') {
  254. set $cors "${cors}options";
  255. }
  256. if ($request_method = 'GET') {
  257. set $cors "${cors}get";
  258. }
  259. if ($request_method = 'POST') {
  260. set $cors "${cors}post";
  261. }
  262. if ($cors = "trueget") {
  263. add_header 'Access-Control-Allow-Origin' "$http_origin";
  264. add_header 'Access-Control-Allow-Credentials' 'true';
  265. }
  266. if ($cors = "truepost") {
  267. add_header 'Access-Control-Allow-Origin' "$http_origin";
  268. add_header 'Access-Control-Allow-Credentials' 'true';
  269. }
  270. if ($cors = "trueoptions") {
  271. add_header 'Access-Control-Allow-Origin' "$http_origin";
  272. # add_header 'Access-Control-Allow-Origin' '*';
  273. add_header 'Access-Control-Allow-Credentials' 'true';
  274. add_header 'Access-Control-Max-Age' 1728000;
  275. add_header 'Access-Control-Allow-Headers' 'Authorization,Content-Type,Accept,Origin,User-Agent,DNT,Cache-Control,X-Mx-ReqToken,Keep-Alive,X-Requested-With,If-Modified-Since,X-CSRF-TOKEN,Cookie';
  276. add_header 'Content-Length' 0;
  277. add_header 'Content-Type' 'text/plain charset=UTF-8';
  278. # return 204;
  279. return 200;
  280. }
  281. }
  282. }