从 nginx 重定向中删除端口

从 nginx 重定向中删除端口

我有一个域名 www.mysite.com,运行应用程序 Django。在这个服务器上,我用 WordPress 创建了一个博客。www.mysite.com/blog

Nginx Django 应用程序:

upstream django {
    server 127.0.0.1:8001;
}

server {
    listen 80;

    location /blog {       
       proxy_pass http://127.0.0.1:8000;  
    }
}

Nginx WordPress:

server {
    listen: 8000;
    root /var/www/html/blog;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    [......]

}

如果我输入 www.mysite.com/blog,则会显示第 404 页。如果我输入 www.mysite.com:8000,则会显示 WordPress 索引。如何删除端口“:8000”URL,从而保留 wwww.mysite.com/blog 并显示 WordPress 索引??

答案1

我认为您正在寻找的答案就在proxy_redirect选项中,在proxy_pass之后。

这个 nginx 配置示例很有用:(查看代理重定向行)

location /one/ {
proxy_pass     http://upstream:port/two/;
proxy_redirect http://upstream:port/two/ /one/;

我认为添加这个应该可以解决问题:

proxy_redirect http://127.0.0.1:8000 /blog;

您可以在 nginx 中找到完整的文档和示例文档

相关内容