I have a main server running NGINX and a second server running Apache/cPanel.
What we are trying to do is keep our micro sites seperate from the main server. The micro sites are mainly Wordpress
The issue that I am running into is that we want them to have the domain format of http://example.com/path
.
However it has come to my attention that using the following proxy_pass
below it does not work for more then one site.
It also has been recommended to me that the microsites get turned into subdomains on the second server to ease the proxy_pass
confusion - path.example.com
I then run into the issue of how do I get http://example.com/path
to mirror path.example.com
and work like http://example.com/path
Currently it semi works by using the below however /private
just loads /blog
Config:
location /blog/ {
include proxy-pass-settings.conf;
proxy_pass http://blogging.example.com/;
}
location /private/ {
include proxy-pass-settings.conf;
proxy_pass http://blogging.example.com/;
Proxy Config:
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forward-Proto http;
proxy_set_header X-Nginx-Proxy true;
proxy_redirect off;
Try this:
location ^~ /blog/ {
include proxy-pass-settings.conf;
proxy_pass http://blogging.example.com;
}
location ^~ /private/ {
include proxy-pass-settings.conf;
proxy_pass http://blogging.example.com;
}
If proxy_pass is specified without a URI, the request URI is passed to the server in the same form as sent by a client when the original request is processed, or the full normalized request URI is passed when processing the changed UR.
Source: http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass