小编And*_*nin的帖子

Nginx + Node.js + Socket.io + SSL可能吗?

我正在尝试使用nginx作为代理运行socket.io聊天应用程序.当我通过http +端口连接到服务器时,它工作正常,但它不适用于https.我看到用户连接/断开事件通过,但没有发射到达客户端或服务器.

这是我的服务器.conf(nginx/1.4.6 Ubuntu)

upstream websocket {
    server 127.0.0.1:8090;
}

server {
    listen 80;
    return 301 https://example.com$request_uri;
}

server {
    listen   443 ssl;

    ssl_certificate    /home/andrew/example.com/nginx/certs/example.com.cer;
    ssl_certificate_key    /home/andrew/example.com/nginx/certs/example.com.private.key;

    root /home/andrew/example.com/public;
    index index.html index.htm;

    server_name example.com;

    location /chat/ {
        rewrite ^/chat/?(.*)$ /$1 break;
        proxy_pass http://websocket;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_http_version 1.1;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host;
    }

    location / {
        try_files $uri $uri/ =404;
    }
}
Run Code Online (Sandbox Code Playgroud)

服务器(节点v0.12.1,Socket.io v1.3.5)

var express = require('express');
var app = express();
var server = …
Run Code Online (Sandbox Code Playgroud)

ssl nginx node.js socket.io

5
推荐指数
1
解决办法
3145
查看次数

标签 统计

nginx ×1

node.js ×1

socket.io ×1

ssl ×1