【问题标题】:Limit REST API access to angular app only in nginx仅在 nginx 中限制 REST API 对 Angular 应用程序的访问
【发布时间】:2018-09-01 15:05:08
【问题描述】:

我有一个后端和前端托管在同一台机器上(digitalocean)。后端公开 Angular 前端使用的 REST API。

出于安全原因,我想限制对 API 的访问,只允许来自 Angular 应用程序的调用。这可能吗?

我会想象这样的事情:

location /api {
allow 127.0.0.1;
deny all; }

工作,但它没有。

【问题讨论】:

    标签: angularjs nginx


    【解决方案1】:

    您只需将您的应用程序和 NGINX 更改为只收听127.0.0.1,这使您的配置变得更加简单。只需更改您的服务器块以更改 listen 指令。

    server {
      listen 127.0.0.1:80; # or any other port you are using to listen.
      # Remove listen 80; listen 443; listen [::]:443; or listen [::]:80; 
      # All your other stuff...
    }
    

    仅此而已,您不需要所有这些允许和拒绝。

    【讨论】:

    • 不幸的是,这会导致 Angular 应用程序中的连接被拒绝错误 - 我还有什么需要更改的吗?
    • 也许您的应用程序使用的是localhost 而不是127.0.0.1。如果是这种情况,您有两个选择:要么在 NGINX 上收听 localhost:80,要么在应用程序中更改请求以使用 127.0.0.1 而不是 localhost。如果我是你,我会在应用程序中进行更改,因为安全性:你避免有人劫持localhost DNS
    猜你喜欢
    • 2018-09-02
    • 2012-02-26
    • 2017-09-23
    • 2019-07-15
    • 2015-11-12
    • 1970-01-01
    • 2019-06-07
    • 2015-04-23
    • 2015-08-25
    相关资源
    最近更新 更多