使用apache服务访问我们代理的网站时发现出现404问题,普通的域名网站还好说我们可以直接访问到指定的目录下面打开,但是我们的node服务是通过localhost:8080
端口来启动node项目的,所以我们要使用代理,但是我们发现内网可以通过localhost:8080
访问到项目,外网却得到404通过ping我们发现网站能ping通这就跟防火墙没有关系了,剩下的就是我们内部访问问题了,特此记录
在 Apache 的配置文件中,打开 mod_proxy
和 mod_proxy_http
等等,即去掉 httpd.conf
中的#
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
因为我们的服务器不可能就部署一个网站,我们不能把下面的代码直接添加到 httpd.conf文件里,而是添加到每个站点单独的配置文件。
例如:/usr/local/apache/conf/host
目录下是每个网站单独的配置文件。
下面是http 配置文件
<VirtualHost :80>
ServerAdmin jiawenguang0213@sina.com
#DocumentRoot "/data/root/xiangmu"//这个要注释掉,这个是我们正常添加站点时生成的文件。
ServerName webrtc.xxxxxxx.com
ErrorLog "/apache/logs/www.xinwangai.com_error_apache.log"
CustomLog "/apache/logs/www.xinwangai.com_apache.log" common
ProxyRequests off
Order deny,allow
Deny from all
Allow from all
</Proxy>
<Location />
ProxyPass http://localhost:6789/
ProxyPassReverse http://localhost:6789/
</Location>
</VirtualHost>
下面是https 配置文件
<VirtualHost :443>
ServerAdmin huacheng26@gmail.com #DocumentRoot "/data/root/xiangmu"//这个要注释掉,这个是我们正常添加站点时生成的文件。
ServerName webrtc.xxxxxxx.com SSLEngine on SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
SSLCertificateFile /usr/local/apache/conf/ssl/public.pem
SSLCertificateKeyFile /usr/local/apache/conf/ssl/webrtc.key
SSLCertificateChainFile /usr/local/apache/conf/ssl/chain.pem
ErrorLog "/apache/logs/www.xinwangai.com_error_apache.log"
CustomLog "/apache/logs/www.xinwangai.com_apache.log" common ProxyRequests off
Order deny,allow
Deny from all
Allow from all
</Proxy>
<Location /> //这个地方是重中之重不添加你永远访问的是404
ProxyPass http://localhost:6789/
ProxyPassReverse http://localhost:6789/
</Location>
</VirtualHost>
然后 运行你的$ node server.js
本文地址:https://www.zhuimengzhu.com/content/article/383.html
转载地址:暂无
转载说明: 转载时请在文首注明来源zhuimengzhu.com 及教程作者,并附本文链接。谢谢各位编辑同仁配合。zhuimengzhu 保留追究相应责任的权利。
QQ登录
微信登录