2016-11-21 42 views
0

我正在尝试使用WebRTC在两个设备(浏览器)之间传输文件。我跟着这个GitHub repo来设置signalmaster信令服务器,它工作正常。所以,我把一个简单的index.html页面放在同一个文件夹中。但是当我转到http://localhost:8888时,它不显示页面。然后我发现Signaling服务器不是一个Web服务器。所以,我使用Web server for chrome设置了一个网络服务器。WebRTC:我怎样才能一起安装signling-server和webserver?

在这一点上我感到困惑:

  1. ,同时具有一个Web服务器需要信令服务器!和
  2. 如果我无法加载网页,我将如何使用信令服务器!

很简单,为什么我需要信令服务器,如果我已经不使用它?!另外,我如何设置一个signling-server和webserver在一起,以便我的页面可以加载!

回答

1

有可能与的NodeJS,PHP和使用nginx当前网页的组合。 Nodejs和信令服务器在端口8888的后台运行,并且通过反向代理,您可以在网址中没有端口的情况下调用网页。

server { 
    listen 80 default; 

    server_name http://192.168.229.128; 


    root /var/www/html; 

    index index.php index.html index.htm index.nginx-debian.html; 

    location/{ 
      proxy_pass http://localhost:8888; 
      proxy_http_version 1.1; 
      proxy_set_header Upgrade $http_upgrade; 
      proxy_set_header Connection 'upgrade'; 
      proxy_set_header Host $host; 
      proxy_cache_bypass $http_upgrade; 
    } 


    location ~ \.php$ { 
    try_files $uri =404; 
    fastcgi_split_path_info ^(.+\.php)(/.+)$; 
    fastcgi_pass unix:/var/run/php5-fpm.sock; 
    fastcgi_index index.php; 
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
    include fastcgi_params; 
} 



    location ~* \.io { 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header Host $http_host; 
    proxy_set_header X-NginX-Proxy true; 

    proxy_pass http://localhost:8888; 
    proxy_redirect off; 

    proxy_http_version 1.1; 
    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection "upgrade"; 
    } 



} 

在这种情况下,使用了socket.io,但如果需要,可以将其删除。