- 我們正在運行在端口8090上Amazon EC2實例1
- 我們在Amazon EC2實例運行在80端口NGINX一個的NodeJS HTTP服務器2
- 在NGINX中,我們爲NodeJS服務器配置了上行流程
- 現在我們無法使用運行NGINX的EC2機器的IP從我的機器獲取socket.io/socket.io.js。
是的,我已配置端口8090無法連接到從NGINX另一個EC2 EC2上的NodeJS服務器運行
NGINX IP的inbout /出站策略: - 51.122.71.253(樣品IP)
EC2實例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)
這很可能是一個安全組設置問題。發佈您的安全組規則。 –
我不認爲它有任何安全組問題。如果我從NGINX機器內部獲取,我可以使用wget http://5x.18x.8x.24x:8090/socket.io/socket.io.js來獲取文件。此外,這些設置對於端口80以外的任何其他端口都可以正常工作。如果端口80出現任何問題,則我無法從本地計算機上看到NGINX頁面 – samba