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