proxy.nginx.conf 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513
  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?://([^\.]+\.)*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,x-xsrf-token,X-Request-Id';
  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?://([^\.]+\.)*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,x-xsrf-token,X-Request-Id';
  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?://([^\.]+\.)*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,x-xsrf-token,X-Request-Id';
  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 service provider
  215. server {
  216. listen 80;
  217. server_name {{domain}}.test-kaifain.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/kaifain-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?://([^\.]+\.)*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,x-xsrf-token,X-Request-Id';
  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. }
  283. # web job
  284. server {
  285. listen 80;
  286. server_name {{domain}}.test-job.proginn.com;
  287. set $temp_request_id $http_x_request_id;
  288. if ($temp_request_id = "") {
  289. set $temp_request_id $request_id;
  290. }
  291. set $temp_scheme $http_x_forwarded_proto;
  292. if ($temp_scheme = "") {
  293. set $temp_scheme $scheme;
  294. }
  295. set $temp_addr $http_x_forwarded_for;
  296. if ($temp_addr = "") {
  297. set $temp_addr $remote_addr;
  298. }
  299. add_header 'X-Request-Id' "$temp_request_id";
  300. access_log /data/log/job-access.log proginn-logid;
  301. if ($http_user_agent ~* (SemrushBot|python|MJ12bot|AhrefsBot|AhrefsBot|hubspot|opensiteexplorer|leiki|webmeup|DotBot|Baiduspider|spider)) {
  302. return 444;
  303. }
  304. if ($http_referer ~* (lottery|shishissc)) {
  305. return 444;
  306. }
  307. location / {
  308. limit_req zone=byip burst=100;
  309. proxy_pass http://{{ip}}/;
  310. proxy_set_header Host $http_host;
  311. proxy_set_header X-Real-IP $temp_addr;
  312. proxy_set_header X-Forwarded-For $temp_addr;
  313. proxy_set_header X-Forwarded-Proto $temp_scheme;
  314. proxy_set_header X-Scheme $temp_scheme;
  315. proxy_set_header Origin $http_origin;
  316. proxy_set_header X-Request-Id $temp_request_id;
  317. proxy_http_version 1.1;
  318. #=========================CORS nginx配置=============================
  319. if ($http_origin ~* (https?://([^\.]+\.)*proginn\.com(:[0-9]+)?)$) {
  320. set $cors "true";
  321. }
  322. if ($request_method = 'OPTIONS') {
  323. set $cors "${cors}options";
  324. }
  325. if ($request_method = 'GET') {
  326. set $cors "${cors}get";
  327. }
  328. if ($request_method = 'POST') {
  329. set $cors "${cors}post";
  330. }
  331. if ($cors = "trueget") {
  332. add_header 'Access-Control-Allow-Origin' "$http_origin";
  333. add_header 'Access-Control-Allow-Credentials' 'true';
  334. }
  335. if ($cors = "truepost") {
  336. add_header 'Access-Control-Allow-Origin' "$http_origin";
  337. add_header 'Access-Control-Allow-Credentials' 'true';
  338. }
  339. if ($cors = "trueoptions") {
  340. add_header 'Access-Control-Allow-Origin' "$http_origin";
  341. # add_header 'Access-Control-Allow-Origin' '*';
  342. add_header 'Access-Control-Allow-Credentials' 'true';
  343. add_header 'Access-Control-Max-Age' 1728000;
  344. 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,x-xsrf-token,X-Request-Id';
  345. add_header 'Content-Length' 0;
  346. add_header 'Content-Type' 'text/plain charset=UTF-8';
  347. # return 204;
  348. return 200;
  349. }
  350. }
  351. }
  352. # web festival
  353. server {
  354. listen 80;
  355. server_name {{domain}}.test-festival.proginn.com;
  356. set $temp_request_id $http_x_request_id;
  357. if ($temp_request_id = "") {
  358. set $temp_request_id $request_id;
  359. }
  360. set $temp_scheme $http_x_forwarded_proto;
  361. if ($temp_scheme = "") {
  362. set $temp_scheme $scheme;
  363. }
  364. set $temp_addr $http_x_forwarded_for;
  365. if ($temp_addr = "") {
  366. set $temp_addr $remote_addr;
  367. }
  368. add_header 'X-Request-Id' "$temp_request_id";
  369. access_log /data/log/jishuin-access.log proginn-logid;
  370. if ($http_user_agent ~* (SemrushBot|python|MJ12bot|AhrefsBot|AhrefsBot|hubspot|opensiteexplorer|leiki|webmeup|DotBot|Baiduspider|spider)) {
  371. return 444;
  372. }
  373. if ($http_referer ~* (lottery|shishissc)) {
  374. return 444;
  375. }
  376. location / {
  377. limit_req zone=byip burst=100;
  378. proxy_pass http://{{ip}}/;
  379. proxy_set_header Host $http_host;
  380. proxy_set_header X-Real-IP $temp_addr;
  381. proxy_set_header X-Forwarded-For $temp_addr;
  382. proxy_set_header X-Forwarded-Proto $temp_scheme;
  383. proxy_set_header X-Scheme $temp_scheme;
  384. proxy_set_header Origin $http_origin;
  385. proxy_set_header X-Request-Id $temp_request_id;
  386. proxy_http_version 1.1;
  387. #=========================CORS nginx配置=============================
  388. if ($http_origin ~* (https?://([^\.]+\.)*proginn\.com(:[0-9]+)?)$) {
  389. set $cors "true";
  390. }
  391. if ($request_method = 'OPTIONS') {
  392. set $cors "${cors}options";
  393. }
  394. if ($request_method = 'GET') {
  395. set $cors "${cors}get";
  396. }
  397. if ($request_method = 'POST') {
  398. set $cors "${cors}post";
  399. }
  400. if ($cors = "trueget") {
  401. add_header 'Access-Control-Allow-Origin' "$http_origin";
  402. add_header 'Access-Control-Allow-Credentials' 'true';
  403. }
  404. if ($cors = "truepost") {
  405. add_header 'Access-Control-Allow-Origin' "$http_origin";
  406. add_header 'Access-Control-Allow-Credentials' 'true';
  407. }
  408. if ($cors = "trueoptions") {
  409. add_header 'Access-Control-Allow-Origin' "$http_origin";
  410. # add_header 'Access-Control-Allow-Origin' '*';
  411. add_header 'Access-Control-Allow-Credentials' 'true';
  412. add_header 'Access-Control-Max-Age' 1728000;
  413. 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,x-xsrf-token,X-Request-Id';
  414. add_header 'Content-Length' 0;
  415. add_header 'Content-Type' 'text/plain charset=UTF-8';
  416. # return 204;
  417. return 200;
  418. }
  419. }
  420. }
  421. # web festival
  422. server {
  423. listen 80;
  424. server_name {{domain}}.test-bituni.proginn.com;
  425. set $temp_request_id $http_x_request_id;
  426. if ($temp_request_id = "") {
  427. set $temp_request_id $request_id;
  428. }
  429. set $temp_scheme $http_x_forwarded_proto;
  430. if ($temp_scheme = "") {
  431. set $temp_scheme $scheme;
  432. }
  433. set $temp_addr $http_x_forwarded_for;
  434. if ($temp_addr = "") {
  435. set $temp_addr $remote_addr;
  436. }
  437. add_header 'X-Request-Id' "$temp_request_id";
  438. access_log /data/log/jishuin-access.log proginn-logid;
  439. if ($http_user_agent ~* (SemrushBot|python|MJ12bot|AhrefsBot|AhrefsBot|hubspot|opensiteexplorer|leiki|webmeup|DotBot|Baiduspider|spider)) {
  440. return 444;
  441. }
  442. if ($http_referer ~* (lottery|shishissc)) {
  443. return 444;
  444. }
  445. location / {
  446. limit_req zone=byip burst=100;
  447. proxy_pass http://{{ip}}/;
  448. proxy_set_header Host $http_host;
  449. proxy_set_header X-Real-IP $temp_addr;
  450. proxy_set_header X-Forwarded-For $temp_addr;
  451. proxy_set_header X-Forwarded-Proto $temp_scheme;
  452. proxy_set_header X-Scheme $temp_scheme;
  453. proxy_set_header Origin $http_origin;
  454. proxy_set_header X-Request-Id $temp_request_id;
  455. proxy_http_version 1.1;
  456. #=========================CORS nginx配置=============================
  457. if ($http_origin ~* (https?://([^\.]+\.)*proginn\.com(:[0-9]+)?)$) {
  458. set $cors "true";
  459. }
  460. if ($request_method = 'OPTIONS') {
  461. set $cors "${cors}options";
  462. }
  463. if ($request_method = 'GET') {
  464. set $cors "${cors}get";
  465. }
  466. if ($request_method = 'POST') {
  467. set $cors "${cors}post";
  468. }
  469. if ($cors = "trueget") {
  470. add_header 'Access-Control-Allow-Origin' "$http_origin";
  471. add_header 'Access-Control-Allow-Credentials' 'true';
  472. }
  473. if ($cors = "truepost") {
  474. add_header 'Access-Control-Allow-Origin' "$http_origin";
  475. add_header 'Access-Control-Allow-Credentials' 'true';
  476. }
  477. if ($cors = "trueoptions") {
  478. add_header 'Access-Control-Allow-Origin' "$http_origin";
  479. # add_header 'Access-Control-Allow-Origin' '*';
  480. add_header 'Access-Control-Allow-Credentials' 'true';
  481. add_header 'Access-Control-Max-Age' 1728000;
  482. 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,x-xsrf-token,X-Request-Id';
  483. add_header 'Content-Length' 0;
  484. add_header 'Content-Type' 'text/plain charset=UTF-8';
  485. # return 204;
  486. return 200;
  487. }
  488. }
  489. }