wordpress and reverse proxy
Post on 13-Jan-2017
659 Views
Preview:
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