windows下的nginx代理转发
由于公司站点速度的需要,在托管的机房的双线路基础上(电信、联通[网通和联通已合并为一家])又增加了移动线路,因为两者之间在不同的机房。所以在移动机房的web上并未进行安装直接的应用,只是通过apahce做了一个转发。不过后来通过绿盟的安全扫描,发现了apache下的很多漏洞,于是决定换成nginx(nginx在静态页面上的处理经强些,而且对后端的另外的跑的tomcat 就用做连接更容易实现)。
我的原来的apache的配置内容如下:
1<VirtualHost *:80>
2 ServerName 361way.com
3 RewriteEngine on
4 RewriteRule ^(.*) https://blog.361way.com/ [R=permanent,L]
5 #以上语句和RewriteRule ^(.*)$ https://blog.361way.com$1 [R=301,L]等效
6 #<Location />
7 # MaxConnPerIP 5
8 #</Location>
9</VirtualHost>
10<VirtualHost *:80>
11 ServerName www.361way.com
12 ProxyRequests On
13 #ProxyPreserveHost On
14 ProxyPass / https://blog.361way.com/
15 ProxyPassReverse / https://blog.361way.com/
16 <Proxy *>
17 Order Deny,Allow
18 Allow from all
19 </Proxy>
20 #<Location />
21 # MaxConnPerIP 5
22 #</Location>
23</VirtualHost>
出于对公司信息的保密,我这里全换了自己的域名了,呵呵!上面配置的关于加不加www的重定向的语名,在nginx上应该写成:
1rewrite ^(.*)$ https://blog.361way.com permanent;
注:其实上面的配置是有问题的,如果是移动的线路访问的话,直接又指向了本身对应的域名,这样会陷入一个死循环,所以还需要在hosts文件中做url重定向解决这个问题。
hosts文件中做添加重定向,电信公网IP www.361way.com。 然后,我在本机的windows xp上安装nginx做实验,发现了一个奇怪的问题。我按下面的配置正常:
1server {
2 listen 80;
3 server_name localhost;
4 #charset koi8-r;
5 #access_log logs/host.access.log main;
6 location / {
7 proxy_pass https://blog.361way.com;
8 }
9}
但是如果增加proxy.conf内容以后,就会出现403无法访问的错误(之前在linux下的测试都是正常的), proxy.conf内容如下:
1proxy_redirect off;
2proxy_set_header Host $host;
3proxy_set_header X-Real-IP $remote_addr; #获取真实IP
4proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #获取代理者的真实ip
5client_max_body_size 10m;
6client_body_buffer_size 128k;
7proxy_connect_timeout 90;
8proxy_send_timeout 90;
9proxy_read_timeout 90;
10proxy_buffer_size 4k;
11proxy_buffers 4 32k;
12proxy_busy_buffers_size 64k;
13proxy_temp_file_write_size 64k;
不过,因为通过移动线路的访问日志直接就记在移动机房的服务器上,后端指的电信服务器上不需要再记录通过移动线路访问的真实IP,所以也没再研究。向做个记录,以待以后再研究。
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/windows-nginx/1181.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.