【问题标题】:Trying to root a domain with Nginx under a sub-folder尝试在子文件夹下使用 Nginx 根域
【发布时间】:2020-02-11 12:46:04
【问题描述】:

我有一个域 tmhos.church 和一个简单的 index.html,位于 cosmoscomputers.com:3597/ref/tmhos。 (它们在同一个数字海洋水滴服务器和 dns 上)

我正在尝试隐藏 tmhos.church,使其看起来像是自己的网站,而实际上位于 /ref/tmhos 上方。

我找到了这篇文章How to preserve request url with nginx proxy_pass(我认为很接近,但不完全是我的问题)并且有一个如下所示的 nginx 配置......但是当我去 tmhos.church 时,它会进入 cosmoscomputers 的顶部.com(但确实在地址栏中保留了 tmhos.church 域(好))。如果我随后手动将 /ref/tmhos 添加到末尾,它将转到我想成为根的页面。我承认我不知道所有的行都在做什么(例如“重写”正则表达式),但是 proxy_pass 并没有完全按照我的意愿做。

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

    server_name tmhos.church www.tmhos.church;

    location / {

        rewrite            ^(.*)$   "://$http_host$uri$is_args$args";
        rewrite            ^(.*)$   "http$uri$is_args$args" break;
        proxy_set_header   Host     $host;

        proxy_pass http://138.197.133.227:3597/ref/tmhos;

    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

【问题讨论】:

    标签: nginx dns subdirectory


    【解决方案1】:

    你能不能试试:

    server {
        listen 80;
        listen [::]:80;
    
        server_name tmhos.church www.tmhos.church;
    
        location / {
            proxy_set_header Host $host;
            proxy_pass http://cosmoscomputers.com:3597/ref/tmhos/;
        }
    
        location ~ /\.ht {
            deny all;
        }
    }
    

    【讨论】:

    • 令人惊讶的是 END 上的斜线的作用......它有效!
    • 是的。而且你在配置中有很多其他对我来说没有意义的东西。它是否按预期工作?
    • 完美,到目前为止的所有测试中...... THX!
    • 如果一切正常,请务必接受正确的答案,谢谢!
    • 是的,我试图...不知道该怎么做...我什至尝试过投票,但我还没有足够的积分。尝试了“回答你的问题”按钮,但它留下了一个让我回答的字段(不接受你的)......你知道吗?
    猜你喜欢
    • 2016-11-11
    • 1970-01-01
    • 2017-05-30
    • 2018-06-14
    • 1970-01-01
    • 2012-12-03
    • 1970-01-01
    • 1970-01-01
    • 2017-05-10
    相关资源
    最近更新 更多