Я занимаюсь разработкой проекта на местном уровне с NodeJS на www.foo.com и хочу вызвать PHP приложения на subdomain.foo.com.Localhost NodeJS и PHP на одном домене
Он работает, но он интерпретируется как CROSS-ORIGIN, поэтому он отправляет запросы OPTIONS, и я не могу получить порожденную ошибку из PHP в средстве разработки сетевого браузера.
Мои хозяева
127.0.0.1 foo.com
127.0.0.1 subdomain.foo.com
Apache
// foo.com
<VirtualHost *:80>
ServerName foo.com
DocumentRoot "/path/to/my/nodejs/app"
<Location />
ProxyPass http://127.0.0.1:8080/
ProxyPassReverse http://127.0.0.1:8080/
</Location>
</VirtualHost>
// Symfony2 project on: subdomain.foo.com
<VirtualHost *:80>
ServerName subdomain.foo.com
DocumentRoot "/path/to/my/php/app"
<Directory /path/to/my/php/app>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /app_dev.php [QSA,L]
</IfModule>
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
ErrorLog "/Applications/MAMP/logs/subdomain-foo-error.log"
CustomLog "/Applications/MAMP/logs/subdomain-foo-access.log" common
</VirtualHost>
Любая идея?
Я понимаю, но я не хочу иметь проблемы кросс-сайт, я хочу имеют оба приложения в одном домене. Он работает на моем сервере, но не локально. Кажется, что NodeJS остается на localhost: port, а не foo.com! –
Они находятся в том же домене, но не в том же _subdomain_. Кросс-домен точно подобен межсайтовой. Если это работает на вашем сервере, но не локально, конфигурация Apache вашего сервера разрешима и устанавливает заголовок для всех виртуальных хостов, тогда как в вашей локальной конфигурации нет. – tchap