我有一个在第一个Nginx服务器(虚拟机A)上运行的Wordpress实例。 我可以在本地完美地工作,一切都可以很好地解决,并且可以通过我的网址www.corph.mouradcloud访问所有路径(例如/ wp-admin /,/ wp-content /,/ wp-includes /等)。 com
目前,我没有使用SSL,所以这是以后的问题:)
这是我的Nginx Web实例的配置:
upstream php-wp {
server unix:/var/run/mouradcloud.sock;
}
server {
listen 80;
listen [::]:80;
server_name www.corph.mouradcloud.com;
root /var/www/mouradcloud;
index index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location ~ .php$ {
include fastcgi.conf;
fastcgi_pass php-wp;
}
location ~* .(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
}
我有第二台Nginx服务器,用作具有不同URL(虚拟机B)的代理。 经过一番谷歌搜索,我注意到需要添加一些其他参数以使PHP脚本通过代理通过。
这是代理nginx文件:
server {
listen 80;
listen [::]:80;
server_name www.mouradcloud.com;
location / {
proxy_pass http://www.corph.mouradcloud.com;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
}
奇怪的是,当客户端使用Web浏览器调试器进行连接时,路径/ wp-content /,/ wp-includes /通过以下方式解析:
www.corph.mouradcloud.com
代替
www.mouradcloud.com
这是调试器的屏幕截图,我们可以看到只有文档通过代理传递,脚本被拒绝,而脚本没有被拒绝,因为我通过请求中的代理传递了所有东西。
我的猜测是我缺少一些参数。
我试图添加其他位置,例如/ wp-includes /,但最终却搞砸了所有内容...
我检查了所有SO线程,但到目前为止,没有人提供答案