带有自定义网址的nginx proxy_pass

时间:2018-05-03 16:09:11

标签: nginx

我正在ubuntu nginx服务器上部署一个角度应用程序。它使用默认的location /工作正常。在我的情况下,我正在尝试将位置指定为location /ss,并希望重定向到目标页面。但它在控制台中试图从不同的位置(文件路径)获取源。什么工作正常。

http://example.com:81/#/screenshots

location / {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-NginX-Proxy true;
    proxy_pass http://localhost:8000;
    proxy_set_header Host $http_host;
    proxy_cache_bypass $http_upgrade;
    proxy_redirect off;
}

但我想要

http://example.com/ss

这将重定向到http://example.com:81/#/screenshots此网址。我试过了

location /ss {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-NginX-Proxy true;
    proxy_pass http://localhost:8000/#/screenshots;
    proxy_set_header Host localhost:8000/#/screenshots;
    proxy_cache_bypass $http_upgrade;
    proxy_redirect off;
}

但我的控制台日志说

GET http://example.com:81/app.js net::ERR_ABORTED
ss:44 GET http://example.com:81/view1/view1.js net::ERR_ABORTED
ss:45 GET http://example.com:81/screenshots/screenshots.js 
net::ERR_ABORTED

这些文件定位问题。有没有办法在nginx conf级别修复此问题?

1 个答案:

答案 0 :(得分:1)

location ~ ^/ss {
    return 301 http://example.com:81/#/screenshots;
}