鼎鼎知识库
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

10反向代理服务.md 2.2KB

说到反向代理,肯定是有上游服务。

配置一个静态网站。

确定配置文件:sudo nano /etc/nginx/sites-available/default


server {
        listen 127.0.0.1:5008; //也就是只针对本机开放
        server_name other;
        location / {
                alias /var/www/publishapplication/d1.xyz/html/;
                autoindex on;
                index index.html;
                set $limit_rate 1k;
                try_files $uri $uri/ /index.html;
        }
}



把原先的进程停掉: nginx -s stop
重新打开:nginx 



设置反向代理

配置文件:sudo nano /etc/nginx/sites-available/default

upstream local {
        server 127.0.0.1:5008;
}

server {
        listen 80;
        server_name demo.com *.demo.com;

        location / {
                #root /var/www/html;
                #index index.html;
                #try_files $uri $uri/ /index.html;

                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;//告诉上游服务器,从远端与Nginx的TCP连接中获取
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_pass http://local;
        }

}


server {
        listen 127.0.0.1:5008;
        server_name other;
        location / {
                alias /var/www/publishapplication/d1.xyz/html/;
                autoindex on;
                index index.html;
                set $limit_rate 1k;
                try_files $uri $uri/ /index.html;
        }
}

设置缓存。也就是把上游服务器的内容先缓存起来一段时间。

配置文件:sudo nano /etc/nginx/nginx.conf

http {
//10m的共享内存
//名称是my_cache
	proxy_cache_path /tmp/nginxcache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off;
}

配置文件:sudo nano /etc/nginx/sites-available/default

upstream local {
	server 127.0.0.1:5008;
}

server {
	listen 80;
	server_name _;
	location / {
		proxy_set_header Host $host;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		
		proxy_cache my_cache;
		proxy_cache_key #host$uri$is_args$args;
		proxy_cache_valid 200 304 303 ld;
		proxy_pass http://local;
	}
}