首页 > 解决方案 > 最好代理端口 80 或重定向到 server:port

问题描述

上下文是我有一个在端口 9001 上运行的 webapp,但想要app.company.com指向我的应用程序。我不确定这是否重要,但我可以在这里采取两种方法。

  1. 创建一个虚拟主机,将 HTTP 流量代理到端口 9001。
  2. 在域层上创建重定向到server.company.com:9001

哪条路线更好,为什么重要?

标签: httpnginx

解决方案


您的问题有点宽泛,但总的来说,如果您使用的是 nginx,并且您的应用程序可能会有一些静态内容,例如 css、js、字体等,您希望 nginx 为这些内容提供服务静态内容,并且只有您的应用程序(即在端口 9001 上运行的应用程序)来处理动态内容,考虑到这一点,您可以做的是让 nginx 在端口 80 侦听,并将动态内容传递到端口 9001。

例子:

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

    root /var/www/html;

    server_name example.com;

    location /static {
      alias /var/www/html/static;
    }

    location / {
      try_files $uri @backend;
    }

    location @backend {
      proxy_pass http://server.company.com:9001;
      # other configuration settings here
    }

    # other location configuration here
}

推荐阅读