nginx - SSL 启用站点上的 Apache 和 Socket.io 的反向代理

nginx - SSL 启用站点上的 Apache 和 Socket.io 的反向代理

我的SSL安全 Web 应用程序由 Apache 服务器 (PHP) 和 NodeJS (Socket.io) 组成。为了解决各种网络上端口被阻塞的问题,我决定使用nginx将请求重定向到我设置的相应端口。但我一直在努力以正确的方式配置一切。

編輯:

我想使用 nginx 监听所有请求并将其指向我的 PHP/NodeJS 服务。以下是文件port 443的配置:/etc/nginx/sites-available/default

server {

    listen 443;
    ssl on;
    ssl_certificate    /var/www/project/mynode/ssl.crt;
    ssl_certificate_key  /var/www/project/mynode/private.key;

    server_name domain.com ;
    access_log /var/log/nginx/nginx.vhost.access.log;
    error_log /var/log/nginx/nginx.vhost.error.log;

    root /var/www/;

    location /project/{
        proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass https://127.0.0.1:442/project/;
    }

    location /backend/{
        proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass https://127.0.0.1:8080/project/angular/backend/;
    }

    location /connect/{
        proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass https://127.0.0.1:9000/;
    }
}

我正尝试通过以下方式连接到套接字:

io.connect("https://www.domain.com/connect");

但套接字始终未连接。Apache 的服务运行正常。

这是我面临的错误:

https://www.domain.com/socket.io/?EIO=3&transport=polling&t=1434534878619-0 404 (Not Found)

但是,当我提到端口时,它工作正常。这是它的工作代码:

io.connect("https://www.domain.com:9000");

我根据文档和指南配置了ports.confapache2/sites-available/default文件,尝试了所有我能解释的方法,但仍然无法连接我的套接字。

相关内容