nginx - 支援 SSL 的網站上 Apache 和 Socket.io 的反向代理

nginx - 支援 SSL 的網站上 Apache 和 Socket.io 的反向代理

我的SSL安全 Web 應用程式由 Apache 伺服器 (PHP) 和 NodeJS (Socket.io) 組成。為了克服各種網路上的連接埠阻塞問題,我決定使用nginx將請求重定向到我設定的各個連接埠。但我一直在努力以正確的方式配置一切。

編輯:

我想使用 nginx 監聽所有請求port 443並將其指向我的 PHP/NodeJS 服務。這是檔案的配置/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.conf和文件,嘗試了我可以解釋的所有內容,但我仍然無法連接我的套接字。apache2/sites-available/default

相關內容