是的我已为端口8090配置了inbout / outbound策略
NGINX IP : - 51.122.71.253(样本IP)
EC2 INSTANCE 1 IP : - 5x.18x.8x.24x
问题:
我无法通过NGINX从本地计算机获取http://51.122.71.253/socket.io/socket.io.js。
但我可以直接从EC2实例1访问该文件http://5x.18x.8x.24x:8090/socket.io/socket.io.js
相同的NGINX.conf设置在我们的本地局域网中工作。 对于端口80,EC2有什么特殊技巧吗?
配置文件
http
{
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
map $http_upgrade $connection_upgrade
{
default upgrade;
'' close;
}
upstream node_server
{
ip_hash;
server 5x.18x.8x.24x:8090;
}
server
{
listen 80;
location /
{
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_redirect off;
proxy_read_timeout 3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://node_server;
client_body_in_file_only clean;
client_body_buffer_size 32K;
client_max_body_size 400M;
sendfile on;
send_timeout 300s;
}
}
我们想要实现的目标: -
实际上在我们的客户端侧网络上,除80以外的所有端口都被阻止,因此我们尝试将NGINX作为代理,将套接字连接从端口80重定向到我们的8090端口。
(客户机) - > (NGINX PROXY) - > (EC2 INSTANCE NODEJS SERVER RUNINNG @ 8090)
答案 0 :(得分:0)
我已经解决了这个问题。您必须将端口从80更改为/etc/nginx/conf.d/default.conf中的任何其他端口。
我已将端口更改为81。
server {
listen 81;
server_name localhost;
然后请重新启动NGINX,它会起作用。