Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

WordPress and Reverse Proxy

2,284 views

Published on

As WordPress continues to grow and attract more enterprise organizations, a new set of challenges are surfacing based around integrating existing sites and applications. One of the key requirements for many enterprise sites is the ability to use a CMS for managing content. Find out how WordPress can play nicely with other sites and become a component of a larger solution.

Published in: Marketing
  • Be the first to comment

  • Be the first to like this

WordPress and Reverse Proxy

  1. 1. Edmund Turbin - Solutions Engineer edmund.turbin@wpengine.com WordPress and Reverse Proxy How WordPress can integrate with enterprise websites
  2. 2. Edmund Turbin - Solutions Engineer edmund.turbin@wpengine.com About Me Solutions Engineer @ WP Engine Front End Dev Agencies, Publishing, Ad Tech Edmund Turbin
  3. 3. Edmund Turbin - Solutions Engineer edmund.turbin@wpengine.com What is a Proxy I make a request proxy gets what I asked for
  4. 4. Edmund Turbin - Solutions Engineer edmund.turbin@wpengine.com Forward Proxy client makes request to proxy proxy gets request from server proxy returns request caches request Intermediary assocated with the client
  5. 5. Edmund Turbin - Solutions Engineer edmund.turbin@wpengine.com Proxy The cloud FORWARD PROXY
  6. 6. Edmund Turbin - Solutions Engineer edmund.turbin@wpengine.com Reverse Proxy client makes request external proxy returns cached request or, gets request from server Intermediary assocated with the server
  7. 7. Edmund Turbin - Solutions Engineer edmund.turbin@wpengine.com Varnish The cloud CACHING DIAGRAMServer
  8. 8. Edmund Turbin - Solutions Engineer edmund.turbin@wpengine.com Why Reverse Proxy? Not on the same network custom application Legacy system transition Users restricted to system by role Two systems on the same domain
  9. 9. Edmund Turbin - Solutions Engineer edmund.turbin@wpengine.com Reverse Proxy and WordPress WordPress to handle content external system to integrate seamlessly same domain users will not be able to tell they’re on two systems How does this apply to WordPress?
  10. 10. Edmund Turbin - Solutions Engineer edmund.turbin@wpengine.com Enterprise WordPress
  11. 11. Edmund Turbin - Solutions Engineer edmund.turbin@wpengine.com Enterprise WordPress What makes WordPress enterprise ready? Scalability Security Complex Integrations Multilingual Support SSO / Access Control
  12. 12. Edmund Turbin - Solutions Engineer edmund.turbin@wpengine.com Enterprise WordPress Who’s Using WordPress in enterprise?
  13. 13. Edmund Turbin - Solutions Engineer edmund.turbin@wpengine.com Enterprise WordPress Large community No license costs Extensible - Many integrations Stable, actively maintained, trusted Simple for users, content creators What are the benefits?
  14. 14. Edmund Turbin - Solutions Engineer edmund.turbin@wpengine.com Enterprise WordPress No support Awareness in enterprise market What are the challenges?
  15. 15. Edmund Turbin - Solutions Engineer edmund.turbin@wpengine.com Solutions Proxy pass from WordPress Proxy pass from external website CDN based solution Subdomains
  16. 16. Edmund Turbin - Solutions Engineer edmund.turbin@wpengine.com Requirements Proxy Pass to/from WordPress Block requests from other servers Update links to reflect site structure wp-config.php plugin
  17. 17. Edmund Turbin - Solutions Engineer edmund.turbin@wpengine.com Whitelist IP Allow access from only a single IP
  18. 18. Edmund Turbin - Solutions Engineer edmund.turbin@wpengine.com nginx PROXY PASS if URL matches: fetch content from other server location /some/site { proxy_pass http://127.0.0.1; }
  19. 19. Edmund Turbin - Solutions Engineer edmund.turbin@wpengine.com wp-config define('WP_HOME','http://site.com/subfolder/'); define('WP_SITEURL','http://site.com/subfolder/'); $_SERVER['REQUEST_URI'] = '/subfolder' . $_SERVER['REQUEST_URI']; $_SERVER['SCRIPT_NAME'] = '/subfolder' . $_SERVER['SCRIPT_NAME']; $_SERVER['PHP_SELF'] = '/subfolder' . $_SERVER['PHP_SELF'];
  20. 20. Edmund Turbin - Solutions Engineer edmund.turbin@wpengine.com WordPress Reverse Proxy The cloud App 1 App 2site.com/blog site.com/app site.com REVERSE PROXY 1
  21. 21. Edmund Turbin - Solutions Engineer edmund.turbin@wpengine.com WordPress Load Balancer The cloud App 1 App 2site.com/blog site.com/app site.com REVERSE PROXY 2
  22. 22. Edmund Turbin - Solutions Engineer edmund.turbin@wpengine.com Simpler Solutions 3rd party DNS level split Requests will not pass through additional infrastructure If issues arise, troubleshooting is narrowed down
  23. 23. Edmund Turbin - Solutions Engineer edmund.turbin@wpengine.com Content Delivery Networks
  24. 24. Edmund Turbin - Solutions Engineer edmund.turbin@wpengine.com WordPress Load Balancer The cloud App 1 App 2site.com/blog site.com/app site.com REVERSE PROXY 3 CDN
  25. 25. Edmund Turbin - Solutions Engineer edmund.turbin@wpengine.com Subdomains Simple solution Create subdomain with your domain registrar Forward the subdomain to new site Mask the domain so that the original URL displays
  26. 26. Edmund Turbin - Solutions Engineer edmund.turbin@wpengine.com WordPress Load Balancer The cloud App 1 App 2blog.site.com site.com/app site.com REVERSE PROXY 4
  27. 27. Edmund Turbin - Solutions Engineer edmund.turbin@wpengine.com The Future Couldn’t we just use the REST API?
  28. 28. Edmund Turbin - Solutions Engineer edmund.turbin@wpengine.com @spicecadet edmundturbin.com edmund.turbin@wpengine.com twitter: web: email:

×