反向代理角度cli到另一个端口

时间:2016-10-17 17:35:18

标签: angular proxy webpack webpack-dev-server angular-cli

我想将特定网址代理到另一台服务器。我按照https://github.com/angular/angular-cli#proxy-to-backend

中的说明进行操作

所以为了测试一下,我开始使用角度2应用程序,一个在端口4200上,另一个在4201上。

我的proxy.config.json:

{
  "/auth": {
    "target": "http://localhost:4201",
    "secure": false
  }
}

结果:

  • 如果我停止在4201上运行服务器,我会收到错误。
  

尝试代理时发生错误:localhost:4200 / auth

  • 如果服务器正在运行,我仍然可以从localhost:4200
  • 获取该页面

我的期望:

  • 让4201的页面返回。

1 个答案:

答案 0 :(得分:3)

更新:虽然我改变了方法,但我还是得到了这个答案。要反向代理,我只需在使用angular-cli

创建的角度项目的根目录中添加proxy.config.json
{
    "/api/*": {
        "target": "http://stoemelings.showsourcing.com/",
        "secure": "true",
        "logLevel": "debug"
    }
}

more info

旧答案

我最终使用nginx作为反向代理。实际上这很简单。

  1. 下载nginx。
  2. 解压缩。
  3. 按原样制作nginx.conf:
  4. nginx.conf

    worker_processes  1;
    
    events {
        worker_connections  1024;
    }
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
    
        sendfile        on;
        keepalive_timeout  65;
    
    
    server {
            listen       8081;
            server_name  localhost;
            location / {
                proxy_pass http://127.0.0.1:4200/;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
                proxy_cache_bypass $http_upgrade;
            }
            location /auth {
                proxy_pass http://127.0.0.1:8080/auth;
    
            }
    }
    }
    

    警告{},可能没有正确的计数。

    1. 在nginx位置的命令提示符下启动nginx。