我有一个在第一台 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 脚本通过代理。
奇怪的是,当客户端使用网络浏览器调试器连接时,路径 /wp-content/ , /wp-includes/ 是通过以下方式解析的:
www.corph.mouradcloud.com
代替
www.mouradcloud.com
这是调试器的屏幕截图,我们可以看到只有文档通过代理传递,脚本被拒绝,而它不应该因为我在请求中通过代理传递所有东西..
一只名叫tom的猫