【问题标题】:How can I make a DNS mapping using NGINX如何使用 NGINX 进行 DNS 映射
【发布时间】:2021-05-21 09:37:43
【问题描述】:

我真的是 NGINX 的新手。

目前,我的服务器中有一个容器化应用程序(PHP 应用程序);可以通过192.168.1.20:8080查看(ip地址只是一个例子)。该应用程序非常好。

但是,我希望我的应用能够通过“my-domain-name.com/my-app”查看。我能做到这一点吗?我已经搜索了解决方案,其中很多都使用子域。

我还尝试了 /etc/nginx/sites-available/my-app 下的以下配置。但它们都不起作用。

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

    server_name my-domain-name.com/my-app;

    location / {
        proxy_pass http://192.168.1.20:8080;
    }
}
server {
root /var/www/html;
        listen 80; 
        listen [::]:80;
        server_name my-domain-name.com/my-app www.my-domain-name.com/my-app;
        location / {
            proxy_pass         http://192.168.1.20:8080;
            proxy_redirect     off;
            proxy_set_header   Host $host;
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Host $server_name;
            proxy_set_header   X-Forwarded-Proto $scheme;
        }
}

【问题讨论】:

    标签: nginx dns digital-ocean


    【解决方案1】:

    server_name 属性需要域名,不支持子目录。

    您可以在location 属性中指定您的路径:

    server {
        listen 80;
        listen [::]:80;
    
        server_name my-domain-name.com;
    
        location /my-app {
            proxy_pass http://192.168.1.20:8080;
        }
    }
    

    (来源:nginx docs

    【讨论】:

    • @SatNaing 刚刚尝试使用我的 nginx 路由到 ASP.NET Core,它路由成功,但我确实必须重新设计后端以将 URL 处理为 example.com/my-app/page 而不是 example.com/page。跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-21
    • 2021-10-11
    • 2020-03-02
    • 1970-01-01
    相关资源
    最近更新 更多