Nginx+NodeJS反向代理设置,出现502 Bad Gateway的解决办法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx+NodeJS反向代理设置,出现502 Bad Gateway的解决办法相关的知识,希望对你有一定的参考价值。
参考技术A 执行setsebool -P httpd_can_network_connect 1LInux中Nginx+nodejs 反向代理
一台服务器架设多个 nodejs 网站的拓扑结构
Nginx 的安装
1、安装 nginx 源
sudo rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
2、查看 Nginx 源是否配置成功
通过 yum search nginx 看看是否已经添加源成功。如果成功则执行下列命令安装 Nginx。 或者 npm info nginx 也可以看看 nginx 源是否添加成功
3、安装 Nginx
sudo yum install -y nginx
3、启动 Nginx 并设置开机自动运行
sudo systemctl start nginx
sudo systemctl enable nginx
Nginx 反向代理配置
1、关闭 Selinux
vi etc/selinux/config
修改 SELINUX=enforcing 为 SELINUX=disabled
必须重启 linux init 6
2、配置 firewalld 开启 80 端口
firewall-cmd --zone=public --list-ports
firewall-cmd --zone=public --add-port=80/tcp --permanent
3、配置反向代理
找到 /etc/nginx/conf.d 然后在里面新建对应网站的配置文件
server {
listen 80;
server_name www.bbb.com; location / {
#设置主机头和客户端真实地址,以便服务器获取客户端真实 IP proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #禁用缓存
proxy_buffering off;
#反向代理的地址
proxy_pass http://127.0.0.1:3001; }
}
重启 nginx
systemctl restart nginx
nginx -t 看配置是否正确
systemctl stop nginx
systemctl start nginx
域名测试
window
找到 C:\\Windows\\System32\\drivers\\etc\\hosts
192.168.7.6 www.bbb.com //写自己的IP
Mac
打开Terminal
在terminal界面中输入: sudo vi /etc/hosts 然后回车
会提示让你输入密码 XXXX.(注意输入密码时你看不到*号)
输入成功以后,在出现的界面中按e,转入编辑模式
输入你要设定的hosts内容,比如:127.0.0.1 api.f.com
输入完毕,如果要保存退出,按[esc],再输入:wq(注意:包含前面的冒号和后面的感叹号),再按[enter],hosts就保存生效了。
浏览器输入
www.aaa.com nginx 转发到了 127.0.0.1:3001
以上是关于Nginx+NodeJS反向代理设置,出现502 Bad Gateway的解决办法的主要内容,如果未能解决你的问题,请参考以下文章
Nginx反向代理某些请求出现502 Bad Gateway