nginx反向代理实例讲解

首先需要两台机子:一台转发机子,和一台源服务器(也就是接收请求的)。

1.现在这台是反代机器,配置如下:
upstream h5{ #'h5’这个是一个转发名称,名称下面就是要转发到那一台机子去,下面有ip
server 192.168.76.16:82;
}

server {
listen 80;
listen 443ssl;
server_name h5.ceshi.com;
ssl_certificate /data/ssl/panda.crt; #证书公钥
ssl_certificate_key /data/ssl/panda.key; #证书私钥
rewrite ^(.*)$ https://$host$1 permanent; #这个是客户端http请求是否做强跳https,注释了就是不强跳
location / {
proxy_pass http://h5/; #要和upstream 后的名称’h5’对应
proxy_redirect off; #这个是做客户端如果访问301 302 我们将客户端的请求重定向到某个url。
proxy_http_version 1.1; #这个是版本号,不要输入真实版本,输入错误的版本号
proxy_set_header Upgrade $http_upgrade; ##下面这两行意思是启用websocket连接
proxy_set_header Connection “upgrade”;
}
}

2.源服务器配置nginx -192.168.76.16。

server
{
listen 192.168.76.16:82;
index index.html index.htm index.php ;
charset utf-8; #支持中文
root /data/web/h5/; #这是我们代码,静态等资源存放的位置
#limit_rate 10M; #这是用户下载的最大速度10Mb/s
limit_rate 128K; 也可以这样设置成最大128kb/s
location / { ###这下面add开头的字段是做跨域的
add_header Access-Control-Allow-Origin *;
add_header ‘Access-Control-Allow-Credentials’ ‘true’;
if ($request_method = ‘OPTIONS’) {
return 204;
}

}
#这下面的location代表的意思是缓存静态文件的时间7d是7天,1h是一个小时
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico|mp3|pdf|txt)$ {
    expires 7d;
}

location ~ .*\.(js|css)$ {
    expires 1h;
}

}

发布了24 篇原创文章 · 获赞 1 · 访问量 4152

猜你喜欢

转载自blog.csdn.net/xiegan110/article/details/105293651