我花了很多时间试图完成这项工作,它正在缩短实际的开发时间。我正在尝试在我的网站example.com
和example2.com
上设置两个域,但在浏览器中导航到域时最多会产生502。
我从朋友那里得到的etc/nginx/nginx.conf
:
user root;
worker_processes 4;
events {
worker_connections 768;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
server_names_hash_bucket_size 64;
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
gzip_disable "msie6";
include /etc/nginx/sites-enabled/*;
}
我也是朋友的etc/nginx/sites-available/sites
:
server {
server_name example.com;
# proxy pass to nodejs
location / {
proxy_pass http://127.0.0.1:9001/;
}
}
server {
server_name example2.com;
# proxy pass to nodejs
location / {
proxy_pass http://127.0.0.1:8000/;
}
}
我一直在圈子里工作,尝试了很多不同的配置,但都失败了,这个特定的配置会导致两个站点出现网关错误502.
我从来没有能够让这个工作,我不知道为什么,第二组眼睛会非常有帮助。
答案 0 :(得分:1)
nginx配置中没有任何错误。如果nginx尝试转发连接的节点服务器实际上没有侦听您在配置中指定的端口,那么您将获得502状态代码。
要验证它是否正确侦听,您可以使用任何可以连接到端口的工具来执行HTTP GET。所以,例如:
$ curl http://127.0.0.1:9001/
或者wget
也可以用于此。如果连接被拒绝,则可能是您的节点服务器根本没有运行或配置为侦听其他端口。