![nginx - SSL 启用站点上的 Apache 和 Socket.io 的反向代理](https://linux22.com/image/660511/nginx%20-%20SSL%20%E5%90%AF%E7%94%A8%E7%AB%99%E7%82%B9%E4%B8%8A%E7%9A%84%20Apache%20%E5%92%8C%20Socket.io%20%E7%9A%84%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86.png)
我的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.conf
和apache2/sites-available/default
文件,尝试了所有我能解释的方法,但仍然无法连接我的套接字。