Apache 上的 Nginx 给出 502 Bad Gateway

Apache 上的 Nginx 给出 502 Bad Gateway

我正在尝试通过 Apache 运行 Nginx。

我的配置是,我将 Apache 设置为监听端口8080而不是80

然后我设置 Nginx 通过端口将所有请求代理到同一个域8080

upstream app {
    server example.com:8080;
}

server {
    listen 80;
    server_name example.com;

    ssl_protocols TLSv1.2;

    charset utf-8;

    index index.html index.htm index.php;

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    access_log off;
    error_log  /var/log/nginx/example.com-error.log error;

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;

        proxy_pass https://app/;
        proxy_redirect off;

        # Handle Web Socket connections
        proxy_http_version 1.0;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

然后我设置了 Apache 配置,它似乎工作正常,因为我可以访问我的网站http://example.com:8080没有什么问题。

<VirtualHost *>
    DocumentRoot "/home/forge/example.com"
    ServerName example.com
    ServerAlias www.example.com
    CustomLog /var/log/httpd/example_com_access.log common
    ErrorLog /var/log/httpd/example_com_error.log

        <Directory /home/forge/example.com/>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>

</VirtualHost>

但当尝试去http://example.com/我明白了502 Bad Gateway - nginx/1.8.0

任何想法如何解决这一问题?

我需要这个的原因是我有一个 Web 服务器,其中有很多使用 Nginx 的网站,但我需要其中一些(仅其中一些)网站运行 Apache 规则而不是 Nginx 规则。

我正在运行 Ubuntu 14.04

编辑:以下是来自的日志/var/log/nginx/error.log

2015/11/06 11:05:27 [emerg] 18176#0: "proxy_pass" cannot have URI part in location given by regular expression, or inside named location, or inside "if" statement, or inside "limit_except" block in /etc/nginx/sites-enabled/thehostboy.com:71
2015/11/06 11:07:49 [emerg] 18564#0: "proxy_pass" cannot have URI part in location given by regular expression, or inside named location, or inside "if" statement, or inside "limit_except" block in /etc/nginx/sites-enabled/thehostboy.com:71
2015/11/06 11:23:25 [notice] 21045#0: signal process started
2015/11/06 11:23:25 [alert] 20875#0: *60679 open socket #4 left in connection 9
2015/11/06 11:23:25 [alert] 20875#0: *60680 open socket #41 left in connection 10
2015/11/06 11:23:25 [alert] 20875#0: *60678 open socket #46 left in connection 25
2015/11/06 11:23:25 [alert] 20875#0: *60677 open socket #45 left in connection 26
2015/11/06 11:23:25 [alert] 20875#0: aborting
2015/11/06 11:25:04 [notice] 21184#0: signal process started
2015/11/06 11:25:04 [alert] 21052#0: *97 open socket #3 left in connection 5
2015/11/06 11:25:04 [alert] 21052#0: *98 open socket #36 left in connection 11
2015/11/06 11:25:04 [alert] 21052#0: aborting
2015/11/06 11:27:02 [notice] 21294#0: signal process started
2015/11/06 11:28:39 [notice] 21378#0: signal process started

答案1

我通过将 更改为 解决了proxy_pass这个https://...问题http://...

相关内容