【问题标题】:Nginx rewrite urls to match proxy addressNginx 重写 url 以匹配代理地址
【发布时间】:2020-07-05 16:10:52
【问题描述】:

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

总是输入localhost:8000 来查看我的网站很无聊,所以我决定委托 nginx 作为我网站的反向代理。我已经在 nginx 中设置了一个名为 proxy.site 的虚拟主机,我现在可以通过访问 http://proxy.site 来访问 wordpress 站点。

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

我希望它以 http://proxy.site/posts/covid19 中的代理 url 打开,我需要通过 http://proxy.site 站点名称访问整个站点,

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

这是我的 nginx 配置文件的样子

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?

【问题讨论】:

    标签: wordpress docker nginx proxy


    【解决方案1】:

    Nginx 不监听 localhost:8080,nginx 不会检查你网站的链接来重写它们,你应该在 WordPress 上找到一种方法来替换你的链接的基本 url。基于环境

    【讨论】:

    • 欢迎堆栈溢出。您所说的将不起作用,因为更改 wordpress 中的网站 url 会使 wordpress 网站无法从外部世界访问,我已经尝试过了,但它根本不起作用
    • 我的意思是,在WordPress中找到一种方法来更新或重写链接以匹配您的虚拟主机地址,这与nginx无关。
    猜你喜欢
    • 2014-03-12
    • 2014-02-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-13
    • 2020-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多