thorpedosg

GTmQytYN

Aug 7th, 2018
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.65 KB | None | 0 0
  1. const express = require('express');
  2. const path = require('path');
  3. const app = express();
  4.  
  5. app.use(express.static(path.join(__dirname, 'build')));
  6.  
  7. app.get('/*', function (req, res) {
  8. res.sendFile(path.join(__dirname, 'build', 'index.html'));
  9. });
  10.  
  11. app.listen(process.env.PORT || 8080);
  12.  
  13. upstream react_dev {
  14. server 127.0.0.1:8080;
  15. keepalive 64;
  16. }
  17.  
  18. server {
  19. server_name dev.24mm.co;
  20. charset utf-8;
  21.  
  22. proxy_set_header Host $host;
  23. proxy_set_header X-Real-IP $remote_addr;
  24. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  25.  
  26. client_max_body_size 40m;
  27. client_body_buffer_size 128k;
  28.  
  29. proxy_connect_timeout 90;
  30. proxy_send_timeout 90;
  31. proxy_read_timeout 90;
  32.  
  33. proxy_buffer_size 4k;
  34. proxy_buffers 4 32k;
  35. proxy_busy_buffers_size 64k;
  36. proxy_temp_file_write_size 64k;
  37.  
  38. location / {
  39. proxy_set_header X-Prerender-Token [my-prerender.io-token];
  40. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  41. proxy_set_header Host $http_host;
  42. proxy_set_header X-NginX-Proxy true;
  43. proxy_http_version 1.1;
  44. proxy_set_header Upgrade $http_upgrade;
  45. proxy_set_header Connection "upgrade";
  46. proxy_max_temp_file_size 0;
  47. proxy_redirect off;
  48. proxy_read_timeout 240s;
  49.  
  50. set $prerender 0;
  51. if ($http_user_agent ~* "baiduspider|twitterbot|facebookexternalhit|rogerbot|linkedinbot|embedly|quora link preview|showyoubot|outbrain|pinterest|slackbot|vkShare|W3C_Validator") {
  52. set $prerender 1;
  53. }
  54. if ($args ~ "_escaped_fragment_") {
  55. set $prerender 1;
  56. }
  57. if ($http_user_agent ~ "Prerender") {
  58. set $prerender 0;
  59. }
  60. if ($uri ~* ".(js|css|xml|less|png|jpg|jpeg|gif|pdf|doc|txt|ico|rss|zip|mp3|rar|exe|wmv|doc|avi|ppt|mpg|mpeg|tif|wav|mov|psd|ai|xls|mp4|m4a|swf|dat|dmg|iso|flv|m4v|torrent|ttf|woff|svg|eot)") {
  61. set $prerender 0;
  62. }
  63.  
  64. #resolve using Google's DNS server to force DNS resolution and prevent caching of IPs
  65. resolver 8.8.8.8;
  66.  
  67. if ($prerender = 1) {
  68. #setting prerender as a variable forces DNS resolution since nginx caches IPs and doesnt play well with load balancing
  69. set $prerender "service.prerender.io";
  70. rewrite .* /$scheme://$host$request_uri? break;
  71. proxy_pass http://$prerender;
  72. }
  73. #if (!-f $request_filename) {
  74. if ($prerender = 0) {
  75. add_header Cache-Control "no-cache, no-store, must-revalidate";
  76. add_header Pragma "no-cache";
  77. add_header Expires 0;
  78. proxy_pass http://react_dev;
  79. break;
  80. }
  81. }
  82.  
  83. gzip on;
  84. gzip_disable "msie6";
  85. gzip_vary on;
  86. gzip_proxied any;
  87. gzip_comp_level 6;
  88. gzip_buffers 16 8k;
  89. gzip_http_version 1.1;
  90. gzip_min_length 256;
  91. gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
  92.  
  93. listen 443 ssl; # managed by Certbot
  94. ssl_certificate /etc/letsencrypt/live/dev.24mm.co/fullchain.pem; # managed by Certbot
  95. ssl_certificate_key /etc/letsencrypt/live/dev.24mm.co/privkey.pem; # managed by Certbot
  96. include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
  97. ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
  98. }
  99.  
  100. server {
  101. if ($host = dev.24mm.co) {
  102. return 301 https://$host$request_uri;
  103. } # managed by Certbot
  104.  
  105. listen 80 default_server;
  106. server_name dev.24mm.co;
  107. return 404; # managed by Certbot
  108. }
  109.  
  110. import { unregister } from './registerServiceWorker';
  111.  
  112. unregister();
Add Comment
Please, Sign In to add comment