我有一个特殊的URI方案,这给我带来了一些麻烦.我需要运行nodejs来提供以下服务:
domain.com
var.domain.com
var.domain.com/foo/
Run Code Online (Sandbox Code Playgroud)
我有这个工作没有问题express.vhost()用于提供子域.但是,一旦URI类似于以下内容,我需要提供静态内容和php:
var.domain.com/foo/bar
var.domain.com/foo/bar/index.php
Run Code Online (Sandbox Code Playgroud)
这/bar/是我服务器上的某个目录.从那个url下来(比如说/bar/images/favicon.ico)的所有东西都会像你的典型目录方案一样.通常我会在某个端口上运行典型的proxy_pass到节点,但正如你在这里看到的,我需要nodejs作为端口80上的主要处理程序,并让它将请求传递给在其他端口上运行的nginx(或者反过来可能/更简单吗?).
这种类型的方案是否可以使用(nginx/php)/ nodejs配置?
我有这个错误请求.

德语中的最后一句是指"Firefox无法连接到位于ws:// ......."的服务器.
服务器不会是我认为的问题.
因为这里是nginx配置,因为我觉得有问题!
server {
server_name example.org;
listen 80 default_server;
root /var/www/web;
location / # for symfony2
{
try_files $uri @rewriteapp;
}
location @rewriteapp # for symfony2
{
rewrite ^(.*)$ /app.php/$1 last;
}
location ~ ^/app\.php(/|$)
{
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param HTTPS off;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ ^/socket
{
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
}
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
}
Run Code Online (Sandbox Code Playgroud)
nginx版本:nginx/1.4.7
app.js(那就是服务器!)
var …Run Code Online (Sandbox Code Playgroud)