proxy.nginx.conf 13 KB

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