2015-10-31 4 views
0

Я смутился о том, как переписать URL-адрес для запросов meteorjs, который имеет http-адрес http://IP/<LettersHere>meteor_js_resource=true, до http://IP:3000/<LettersHere>meteor_js_resource=true.nginx и meteorjs - как переписать URL-адрес, чтобы включить порт?

Если я обращаюсь к URL-адресу моего сайта: 3000, то я могу получить все статические файлы из приложения метеорита.

enter image description here

Однако, если бы я попробовал этот файл конфигурации Nginx маршрутизировать URL:3000 к URL/someURL так, когда люди получить доступ к своему сайту, они не нужен номер 3000 портов, но вместо этого /someURL:

server { 
    listen 0.0.0.0:80; 

    server_name domain.com; 

    location /youtube-channel-search 
    { 
     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:3000; 
     proxy_redirect off; 
     proxy_http_version 1.1; 
     proxy_set_header Upgrade $http_upgrade; 
     proxy_set_header Connection "upgrade"; 
     rewrite http://domain.com http://domain.com:3000 permanent; 
    } 
} 

Тогда я получаю сообщение об ошибке, когда файл JS не может быть найден:

enter image description here

Это правильно, так как http://IP/URL не http://IP:3000/URL.

Как переписать входящие запросы для добавления дополнительного порта: 3000? Я думал, что proxy_pass автоматически позаботится об этом.

Thanks

ответ

1

Я понял.

Вам необходимо изменить параметр окружающей среды ROOT_URL приложения meteorJS на localhost:3000/youtube-channel-search.

Использование того же nginx.conf будет работать.

Это связано с тем, что некоторые из sockjs и статических файлов отображаются на localhost:3000 без конечного /youtube-channel-search.

Смежные вопросы