Nginx反向代理上的连接被拒绝

Nginx反向代理上的连接被拒绝,nginx,proxy,nginx-reverse-proxy,http-proxy,nginx-config,Nginx,Proxy,Nginx Reverse Proxy,Http Proxy,Nginx Config,我有一台服务器,在那里我使用Nginx配置了一个反向代理。 它被配置为缓存从CDN获取的文件并将其服务器化。 在服务器所属的网络中配置了防火墙和转发代理服务器。 当我尝试连接到服务器计算机时,它返回502。当我检查nginx错误日志时,它说它无法连接到上游(即CDN)。 我希望nginx通过转发代理(已经在网络中配置)将它获得的请求转发到CDN。 我需要做什么改变 这是我的nginx.conf worker_processes 1; daemon on; error_log /var/log/e

我有一台服务器,在那里我使用Nginx配置了一个反向代理。 它被配置为缓存从CDN获取的文件并将其服务器化。 在服务器所属的网络中配置了防火墙和转发代理服务器。 当我尝试连接到服务器计算机时,它返回502。当我检查nginx错误日志时,它说它无法连接到上游(即CDN)。 我希望nginx通过转发代理(已经在网络中配置)将它获得的请求转发到CDN。 我需要做什么改变

这是我的
nginx.conf

worker_processes 1;
daemon on;
error_log /var/log/error.log;
pid /var/run/nginx.pid;
events
{
 worker_connections 1024;
}
http
{
 proxy_cache_path /path/to/the/cache/folder/1 levels=1:2 keys_zone=cache_common:512m max_size=128g inactive=7d use_temp_path=off;
 proxy_cache_path /path/to/the/cache/folder/2 levels=1 keys_zone=cache_version:1m max_size=128M inactive=60s use_temp_path=off;
 server
 {
 listen 8000 default;
 access_log /var/log/access.log;

 location /url1/ {
 proxy_cache cache_version;

 proxy_pass http://this-is-my-cdn-url.com; 
 }

 location /
 {
 proxy_cache cache_common;
 proxy_cache_use_stale error timeout http_500 http_502 http_503 http_504;
 proxy_cache_valid 404 1d;
 proxy_pass http://this-is-my-cdn-url.com;
 }
 }
}
server {
listen 8000;
server_name my-domain-name.com;

location / {

rewrite ^(.*)$ "://the-cdn-domain-name.com$1";
rewrite ^(.*)$ "https$1" break;
proxy_pass http://X.X.X.X:1234; # this is my forward proxy IP
}
}

我已经找到了解决问题的办法。 我想设置的是一个nginx反向代理,以便:

  • 它将接收来自客户端的请求
  • 用我想访问的另一个CDN替换该URL中的主机部分
  • 通过转发代理将此请求转发到CDN
我必须通过nginx服务器访问CDN,因为我想缓存所服务的内容,从而减少对CDN的点击次数

我得到的解决方案是:

myconfig.conf

worker_processes 1;
daemon on;
error_log /var/log/error.log;
pid /var/run/nginx.pid;
events
{
 worker_connections 1024;
}
http
{
 proxy_cache_path /path/to/the/cache/folder/1 levels=1:2 keys_zone=cache_common:512m max_size=128g inactive=7d use_temp_path=off;
 proxy_cache_path /path/to/the/cache/folder/2 levels=1 keys_zone=cache_version:1m max_size=128M inactive=60s use_temp_path=off;
 server
 {
 listen 8000 default;
 access_log /var/log/access.log;

 location /url1/ {
 proxy_cache cache_version;

 proxy_pass http://this-is-my-cdn-url.com; 
 }

 location /
 {
 proxy_cache cache_common;
 proxy_cache_use_stale error timeout http_500 http_502 http_503 http_504;
 proxy_cache_valid 404 1d;
 proxy_pass http://this-is-my-cdn-url.com;
 }
 }
}
server {
listen 8000;
server_name my-domain-name.com;

location / {

rewrite ^(.*)$ "://the-cdn-domain-name.com$1";
rewrite ^(.*)$ "https$1" break;
proxy_pass http://X.X.X.X:1234; # this is my forward proxy IP
}
}

这是您必须包含在conf.d目录中的内容。我已经跳过了我们在
nginx.conf

中默认提供的内容,我已经找到了问题的解决方案。
worker_processes 1;
daemon on;
error_log /var/log/error.log;
pid /var/run/nginx.pid;
events
{
 worker_connections 1024;
}
http
{
 proxy_cache_path /path/to/the/cache/folder/1 levels=1:2 keys_zone=cache_common:512m max_size=128g inactive=7d use_temp_path=off;
 proxy_cache_path /path/to/the/cache/folder/2 levels=1 keys_zone=cache_version:1m max_size=128M inactive=60s use_temp_path=off;
 server
 {
 listen 8000 default;
 access_log /var/log/access.log;

 location /url1/ {
 proxy_cache cache_version;

 proxy_pass http://this-is-my-cdn-url.com; 
 }

 location /
 {
 proxy_cache cache_common;
 proxy_cache_use_stale error timeout http_500 http_502 http_503 http_504;
 proxy_cache_valid 404 1d;
 proxy_pass http://this-is-my-cdn-url.com;
 }
 }
}
server {
listen 8000;
server_name my-domain-name.com;

location / {

rewrite ^(.*)$ "://the-cdn-domain-name.com$1";
rewrite ^(.*)$ "https$1" break;
proxy_pass http://X.X.X.X:1234; # this is my forward proxy IP
}
}
我想设置的是一个nginx反向代理,以便:

  • 它将接收来自客户端的请求
  • 用我想访问的另一个CDN替换该URL中的主机部分
  • 通过转发代理将此请求转发到CDN
我必须通过nginx服务器访问CDN,因为我想缓存所服务的内容,从而减少对CDN的点击次数

我得到的解决方案是:

myconfig.conf

worker_processes 1;
daemon on;
error_log /var/log/error.log;
pid /var/run/nginx.pid;
events
{
 worker_connections 1024;
}
http
{
 proxy_cache_path /path/to/the/cache/folder/1 levels=1:2 keys_zone=cache_common:512m max_size=128g inactive=7d use_temp_path=off;
 proxy_cache_path /path/to/the/cache/folder/2 levels=1 keys_zone=cache_version:1m max_size=128M inactive=60s use_temp_path=off;
 server
 {
 listen 8000 default;
 access_log /var/log/access.log;

 location /url1/ {
 proxy_cache cache_version;

 proxy_pass http://this-is-my-cdn-url.com; 
 }

 location /
 {
 proxy_cache cache_common;
 proxy_cache_use_stale error timeout http_500 http_502 http_503 http_504;
 proxy_cache_valid 404 1d;
 proxy_pass http://this-is-my-cdn-url.com;
 }
 }
}
server {
listen 8000;
server_name my-domain-name.com;

location / {

rewrite ^(.*)$ "://the-cdn-domain-name.com$1";
rewrite ^(.*)$ "https$1" break;
proxy_pass http://X.X.X.X:1234; # this is my forward proxy IP
}
}
这是您必须包含在conf.d目录中的内容。我跳过了在
nginx.conf

worker_processes 1;
daemon on;
error_log /var/log/error.log;
pid /var/run/nginx.pid;
events
{
 worker_connections 1024;
}
http
{
 proxy_cache_path /path/to/the/cache/folder/1 levels=1:2 keys_zone=cache_common:512m max_size=128g inactive=7d use_temp_path=off;
 proxy_cache_path /path/to/the/cache/folder/2 levels=1 keys_zone=cache_version:1m max_size=128M inactive=60s use_temp_path=off;
 server
 {
 listen 8000 default;
 access_log /var/log/access.log;

 location /url1/ {
 proxy_cache cache_version;

 proxy_pass http://this-is-my-cdn-url.com; 
 }

 location /
 {
 proxy_cache cache_common;
 proxy_cache_use_stale error timeout http_500 http_502 http_503 http_504;
 proxy_cache_valid 404 1d;
 proxy_pass http://this-is-my-cdn-url.com;
 }
 }
}
server {
listen 8000;
server_name my-domain-name.com;

location / {

rewrite ^(.*)$ "://the-cdn-domain-name.com$1";
rewrite ^(.*)$ "https$1" break;
proxy_pass http://X.X.X.X:1234; # this is my forward proxy IP
}
}