在我的VPS上我有两个虚拟服务器:1)apache应用程序(博客),2)主应用程序
博客(我们称之为app1)可以通过以下方式作为子域名进行访问:博客 .sitename.com - > APP1。
主应用程序也有语言子域访问权限,因此我定义了一个通配符访问:
*.sitename.com
- > APP2。
默认情况下,sitename.com
会解析为app2。
直到上周四或周五,一切都很顺利(不记得确切的一天)。
问题是:blog.sitename.com
开始由app2
(而不是app1)解决,因此最终用户登陆了app2页面和#34;博客"被视为一种语言。
此外,我注意到在我的某些浏览器(例如Safari)中没有出现此问题。 我尝试清除其他浏览器的缓存和cookie,之后又开始工作了。
当然我无法向我的网站用户解释这个问题,那么有没有办法让缓存无效(或者不管它是什么)以便一切都能重新开始工作?
是的,我尝试在sendfile off
文件中设置nginx.conf
并重新启动nginx - 没有用。
upstream app2 {
server unix:/tmp/app2.sock fail_timeout=0;
}
server {
server_name blog.sitename.com;
access_log /var/log/nginx/blog.sitename.com.access.log main;
error_log /var/log/nginx/blog.sitename.com.error.log;
root /var/www/app1; # Wordpress blog
index index.php;
location / {
index index.php;
try_files $uri $uri/ /index.php?q=$uri&$args;
}
location ~ \.php$ {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:8081;
proxy_redirect off;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
}
server {
server_name sitename.com 123.123.123.123;
rewrite ^(.*) http://www.sitename.com$1 permanent;
}
server {
listen 80 default deferred; # for Linux
listen 443 ssl; # Handle SSL connection
ssl_certificate /root/ssl/ssl.crt;
ssl_certificate_key /root/ssl/ssl.key;
client_max_body_size 4G;
server_name *.sitename.com;
root /root/app2/public;
keepalive_timeout 10;
try_files $uri/index.html $uri.html $uri @app;
location @app {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme; # HTTP or HTTPS
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://app2;
}
# serve static assets
location ~ ^/(assets)/ {
gzip_static on;
expires 1y;
add_header Cache-Control public;
}
error_page 500 502 503 504 /500.html;
location = /500.html {
root /root/app2/public;
}
}
答案 0 :(得分:0)
行。最后我找到了所有问题的根源!
永远不要使用 301 重定向,如果不是100%确定它应该是那样。
301重定向在浏览器级别缓存,无法清除它。 请改用302。只有当你100%确定一切正确时 - 实施301,因为它对性能有益。