wordpress and reverse proxy

Post on 13-Jan-2017

659 Views

Category:

Marketing

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

  • Edmund Turbin - Solutions Engineeredmund.turbin@wpengine.com

    WordPress and Reverse ProxyHow WordPress can integrate with enterprise websites

    mailto:edmund.turbin@wpengine.com

  • Edmund Turbin - Solutions Engineeredmund.turbin@wpengine.com

    About Me

    Solutions Engineer @ WP Engine Front End Dev

    Agencies, Publishing, Ad Tech

    Edmund Turbin

    mailto:edmund.turbin@wpengine.com

  • Edmund Turbin - Solutions Engineeredmund.turbin@wpengine.com

    What is a Proxy

    I make a request

    proxy gets what I asked for

    mailto:edmund.turbin@wpengine.com

  • Edmund Turbin - Solutions Engineeredmund.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

    mailto:edmund.turbin@wpengine.com

  • Edmund Turbin - Solutions Engineeredmund.turbin@wpengine.com

    Proxy

    The cloud

    FORWARD PROXY

    mailto:edmund.turbin@wpengine.com

  • Edmund Turbin - Solutions Engineeredmund.turbin@wpengine.com

    Reverse Proxy

    client makes request external proxy

    returns cached request or, gets request from server

    Intermediary assocated with the server

    mailto:edmund.turbin@wpengine.com

  • Edmund Turbin - Solutions Engineeredmund.turbin@wpengine.com

    Varnish

    The cloud

    CACHING DIAGRAMServer

    mailto:edmund.turbin@wpengine.com

  • Edmund Turbin - Solutions Engineeredmund.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

    mailto:edmund.turbin@wpengine.com

  • Edmund Turbin - Solutions Engineeredmund.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 theyre on two systems

    How does this apply to WordPress?

    mailto:edmund.turbin@wpengine.com

  • Edmund Turbin - Solutions Engineeredmund.turbin@wpengine.com

    Enterprise WordPress

    mailto:edmund.turbin@wpengine.com

  • Edmund Turbin - Solutions Engineeredmund.turbin@wpengine.com

    Enterprise WordPress

    What makes WordPress enterprise ready?

    Scalability

    Security Complex Integrations Multilingual Support

    SSO / Access Control

    mailto:edmund.turbin@wpengine.com

  • Edmund Turbin - Solutions Engineeredmund.turbin@wpengine.com

    Enterprise WordPress

    Whos Using WordPress in enterprise?

    mailto:edmund.turbin@wpengine.com

  • Edmund Turbin - Solutions Engineeredmund.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?

    mailto:edmund.turbin@wpengine.com

  • Edmund Turbin - Solutions Engineeredmund.turbin@wpengine.com

    Enterprise WordPress

    No support

    Awareness in enterprise market

    What are the challenges?

    mailto:edmund.turbin@wpengine.com

  • Edmund Turbin - Solutions Engineeredmund.turbin@wpengine.com

    Solutions

    Proxy pass from WordPress Proxy pass from external website

    CDN based solution Subdomains

    mailto:edmund.turbin@wpengine.com

  • Edmund Turbin - Solutions Engineeredmund.turbin@wpengine.com

    RequirementsProxy Pass to/from WordPress Block requests from other servers Update links to reflect site structure

    wp-config.php plugin

    mailto:edmund.turbin@wpengine.com

  • Edmund Turbin - Solutions Engineeredmund.turbin@wpengine.com

    Whitelist IP

    Allow access from only a single IP

    mailto:edmund.turbin@wpengine.com

  • Edmund Turbin - Solutions Engineeredmund.turbin@wpengine.com

    nginx

    PROXY PASSif URL matches: fetch content from other server

    location /some/site { proxy_pass http://127.0.0.1; }

    mailto:edmund.turbin@wpengine.com

  • Edmund Turbin - Solutions Engineeredmund.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'];

    mailto:edmund.turbin@wpengine.com

  • Edmund Turbin - Solutions Engineeredmund.turbin@wpengine.com

    WordPress Reverse Proxy

    The cloud

    App 1 App 2site.com/blog

    site.com/appsite.com

    REVERSE PROXY 1

    mailto:edmund.turbin@wpengine.com

  • Edmund Turbin - Solutions Engineeredmund.turbin@wpengine.com

    WordPress Load Balancer

    The cloud

    App 1 App 2site.com/blog

    site.com/appsite.com

    REVERSE PROXY 2

    mailto:edmund.turbin@wpengine.com

  • Edmund Turbin - Solutions Engineeredmund.turbin@wpengine.com

    Simpler Solutions

    3rd party DNS level split Requests will not pass through additional infrastructure

    If issues arise, troubleshooting is narrowed down

    mailto:edmund.turbin@wpengine.com

  • Edmund Turbin - Solutions Engineeredmund.turbin@wpengine.com

    Content Delivery Networks

    mailto:edmund.turbin@wpengine.com

  • Edmund Turbin - Solutions Engineeredmund.turbin@wpengine.com

    WordPress Load Balancer

    The cloud

    App 1 App 2site.com/blog

    site.com/appsite.com

    REVERSE PROXY 3

    CDN

    mailto:edmund.turbin@wpengine.com

  • Edmund Turbin - Solutions Engineeredmund.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

    mailto:edmund.turbin@wpengine.com

  • Edmund Turbin - Solutions Engineeredmund.turbin@wpengine.com

    WordPress Load Balancer

    The cloud

    App 1 App 2blog.site.com

    site.com/appsite.com

    REVERSE PROXY 4

    mailto:edmund.turbin@wpengine.com

  • Edmund Turbin - Solutions Engineeredmund.turbin@wpengine.com

    The Future

    Couldnt we just use the REST API?

    mailto:edmund.turbin@wpengine.com

  • Edmund Turbin - Solutions Engineeredmund.turbin@wpengine.com

    @spicecadet edmundturbin.com edmund.turbin@wpengine.com

    twitter: web:

    email:

    mailto:edmund.turbin@wpengine.com

top related