Nginx反向代理测试记录

来源:互联网 发布:java最新面试题及答案 编辑:程序博客网 时间:2024/06/05 05:40

一次简单的Nginx反向代理测试记录(windows平台,Linux差不多安装nginx可以使用yum、apt…)
1、目的
使用nginx做个反向代理,同时代理https、http协议
2、安装基本软件
1)安装nginx并注册到windows服务
官网下载nginx解压;下载winsw软件到nginx解压目录
winsw.exe同目录中新建文件winsw.xml注意同名“winsw”
winsw.xml配置如下:

<?xml version="1.0" encoding="UTF-8" ?><service><id>nginx</id><name>nginx</name><description>nginx</description><executable>D:\nginx\nginx.exe</executable><logpath>D:\nginx\</logpath><logmode>roll</logmode><depend></depend><startargument>-p D:\nginx</startargument><stopargument>-p D:\nginx -s stop</stopargument></service>

2)在windows上安装openssl不再说明,说一下生成证书需要注意的

openssl genrsa -des3 -out kingredfly.key 1024openssl req -new -key kingredfly.key -out lee.csrcopy kingredfly.key kingredfly.key.orgopenssl rsa -in kingredfly.key.org -out kingredfly.keyopenssl x509 -req -days 365 -in lee.csr -signkey kingredfly.key -out kingredfly.crt

*其中注意一下第2个命令,执行过程中有个Common Name填写代理服务器IP或者域名
*最好把openssl加入环境变量(没测试不加情况)
2、nginx配置文件如下

#user  nobody;worker_processes  1;error_log  logs/error.log;error_log  logs/error.log  notice;error_log  logs/error.log  info;pid        logs/nginx.pid;events {    worker_connections  1024;}http {    include       mime.types;    default_type  application/octet-stream;    server {        listen       888;        server_name  192.168.199.211;        ssl on;        ssl_certificate      D:/nginx/kingredfly.crt;        ssl_certificate_key  D:/nginx/kingredfly.key;        ssl_session_cache    shared:SSL:1m;        ssl_session_timeout  5m;        ssl_ciphers  HIGH:!aNULL:!MD5;        ssl_prefer_server_ciphers  on;        location /BD/ {            proxy_pass    https://www.baidu.com/;             proxy_set_header Host www.baidu.com;             proxy_set_header X-Real-IP $remote_addr;             proxy_set_header REMOTE-HOST $remote_addr;             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;          }        location /SP/ {             proxy_pass   https://www.sina.com.cn/;             proxy_set_header Host www.sina.com.cn;             proxy_set_header X-Real-IP $remote_addr;             proxy_set_header REMOTE-HOST $remote_addr;             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;        }    }    server {        listen       88;        server_name  192.168.199.211;        location /BY/ {            proxy_pass    http://cn.bing.com/;            proxy_set_header Host cn.bing.com;            proxy_set_header X-Real-IP $remote_addr;            proxy_set_header REMOTE-HOST $remote_addr;            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;        }    }}

3、nginx配置文件需注意
1)ssl on 开启ssl
2) ssl_certificate D:/nginx/kingredfly.crt; ssl_certificate_key D:/nginx/kingredfly.key;添加证书私钥路径
3)proxy_pass http://cn.bing.com/; proxy_set_header Host cn.bing.com; 其中proxy_set_header Host后的可以写死域名,这个地方配置问题好像会导致访问报40x 错误,搞一下
4)如location /BY/,一个Server中可以搞多个,这样一个IP或者域名后面加上这个可以代理多个子服务
5)https和http的server分开写
6)windows(win10)上还遇到了这种情况
D:/nginx/kingredfly.key;路径中”\”和“/”有区别
7)proxy_set_header X-Real-IP remote a ddr;proxy s et h eaderREMOTEHOST remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
可以转发远程服务器和客户端真是IP

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 一年级小孩不爱做作业怎么办 小孩不愿多做作业怎么办 小孩一年级不自觉做作业怎么办 小孩会读不会写怎么办 好多字都不会写怎么办 写作业怎么办才能写快 五周宝宝爱玩不写字怎么办 爱玩手机的小孩怎么办? 一年级学生记不住生字怎么办 一年级小孩记不住生字怎么办 配镜度数高了怎么办 宝宝两岁半不肯坐马桶拉臭臭怎么办 儿子字写得不好 怎么办 小孩不听话不爱读书和写字怎么办 两岁宝宝不愿意穿衣服怎么办 做题粗心不认真怎么办 5岁宝宝不会写字怎么办 四岁宝宝不会写字怎么办 4岁宝宝不写字怎么办 四岁宝宝不写字怎么办 孩子学习粗心计算能力差怎么办 一年级的小朋友不爱看书怎么办 马上要生了害怕怎么办 孩子做题不爱读题怎么办 孩子作业写的慢怎么办 孩子学习不好怎么办我们有绝招 英语不会做题怎么办呢? 小学二年级孩子厌学怎么办 狗狗拉肚子不吃东西怎么办 小孩做作业时容易发呆怎么办 一上高速就犯困怎么办 孩子初中数学学不好怎么办 高三注意力不集中怎么办 考砸了家长打我怎么办? 高三学生困疲劳怎么办 高三晚上很困怎么办 孩子上高三压力大不想上学怎么办 高三的孩子压力大怎么办 高三复读压力大怎么办 孩子一年级做数学粗心怎么办 一年级的孩子数学总粗心怎么办