Nginx 重写 URL 以匹配代理地址

Nginx 重写 URL 以匹配代理地址

我正在运行一个 wordpress docker 容器,该站点可通过主机端口访问8000,如果转到 localhost:8000,我就可以看到我的 wordpress 站点。

每次都要输入代码才能看到我的网站,这太无聊了localhost:8000,所以我决定使用 nginx 作为我网站的反向代理。我在 nginx 中设置了一个名为 的虚拟主机proxy.site,现在我可以通过 访问 wordpress 网站http://proxy.site

到目前为止,我们做得很好,当http://proxy.site我打开它时,我可以看到我的博客文章列表,比如说我想阅读我关于 COVID-19 的最新博客文章,当我点击链接时,哦呵呵呵呵,它打开了http://localhost:8000/posts/covid19

我希望它能通过代理 URL 打开,就像这样http://proxy.site/posts/covid19,我需要通过网站名称访问整个网站http://proxy.site

我需要 nginx 将所有链接重写为localhost:8000/*proxy.site/*没有人喜欢在访问博客时输入端口,

以下是我的 nginx conf 文件的样子

server {
        listen 80;
        listen [::]:80;

        root /var/www/proxy.site/html;
        index index.html index.htm index.nginx-debian.html;

        server_name proxy.site www.proxy.site;

        location / {
                proxy_pass http://localhost:8000;
                #proxy_set_header HOST $host;
                #proxy_redirect http://localhost:8000/ http://proxy.site/ ;
                #try_files $uri $uri/ =404;
        }
}

如何使用我的自定义主机名重写代理站点中的所有 URL?

相关内容