我的設置:Apache託管php網站和節點js的代理CORS
apache 2.22虛擬主機運行可在chat.mydomain.nl訪問的php聊天。 根文件夾/ var/www/NEWchat /。
一個Node js服務器沒有提供任何webcontent,而是傳遞信息和信號。節點js服務器的名稱爲server.js,在端口1900上偵聽並駐留在/ var/www/socket的文件夾中。
我只是想能夠代理客戶端對socketserver的請求。 在客戶端的javascript上,socketserver的地址是: socket = io.connect('http://mydomain.nl:1900');
沒有代理它的所有作品!
然後我編輯在網站chat.mydomain.nl上運行一樣關閉虛擬主機的指令:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
documentRoot /var/www/NEWchat
<Directory "/var/www/NEWchat">
allow from all
Options +Indexes
</Directory>
ServerName chat.mydomain.nl
Alias /uploads /var/uploads
ErrorLog /var/mydomainlog/log.log
LogLevel emerg
SSLEngine off
SSLCertificateFile /etc/letsencrypt/live/chat.mydomain.nl/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/chat.mydomain.nl/privkey.pem
SSLCACertificateFile /etc/letsencrypt/live/chat.mydomain.nl/chain.pem
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /socket http://localhost:1900
ProxyPassReverse /socket http://localhost:1900
<Location /socket >
Order allow,deny
Allow from all
</Location>
重新啓動Apache,並從客戶端指向:
插座= 10 .connect('http://chat.mydomain.nl:1900');
和AL我得到的是:
「否‘訪問控制允許來源’標頭出現在所請求的資源」
通過創建一個單獨的Vhost作爲Node js的代理來解決此問題。將它命名爲socket.mydomain.nl,並且everyrthing運行良好。 – ingridsede