之前我們說(shuō)過(guò)在nginx.conf下的http塊中使用upstream來(lái)添加反向代理的服務(wù)器(參考http://www.tjdsmy.cn/Help/Show-1266.html),你會(huì)發(fā)現(xiàn)在nginx主服務(wù)器中建立的站點(diǎn)也打不開(kāi)的,那么怎樣為單個(gè)站點(diǎn)建立反向代理呢?
1.在nginx目錄中建立vhost.d目錄
2.在vhost.d中建立proxy.conf(可以隨便取名)配置文件并輸入如下代碼:
proxy_connect_timeout 300s;
proxy_send_timeout 900;
proxy_read_timeout 500;
proxy_buffer_size 32k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_redirect off;
proxy_hide_header Vary;
proxy_set_header Accept-Encoding ;
proxy_set_header host $host;
proxy_set_header Referer $http_referer;
proxy_set_header Cookie $http_cookie;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
expires 10d;
3.在vhost.d文件中建立要代理的站點(diǎn)如:site2.conf 并且輸入:
server
{
listen 80;
#listen [::]:80;
server_name site2.com www.tjdsmy.cn;
index index.html index.htm index.php default.html default.htm default.php index.asp default.asp;
location / {
#ModSecurityEnabled off;
#ModSecurityConfig modsecurity.conf;
}
location ~ .*.(php)(.*){
proxy_pass http://www.tjdsmy.cn;
include /etc/nginx/vhost.d/proxy.conf;
}
location ~ .*.(asp)(.*){
proxy_pass http://www.tjdsmy.cn;
include /etc/nginx/vhost.d/proxy.conf;
}
location ~ .*.(gif|jpg|png|htm|html|css|js|flv|ico|swf)(.*) {
#include cache.conf;
proxy_pass http://www.tjdsmy.cn ;
include /etc/nginx/vhost.d/proxy.conf;
}
4.在nginx.conf配置文件中引入vhost.d目錄下的.conf文件
include /etc/nginx/vhost.d/*.conf;
5.重啟nginx(service nginx restart),把域名解析到nginx反向代理主服務(wù)器,測(cè)試結(jié)果在nginx本地建立的站點(diǎn)www.tjdsmy.cn和做反向代理的站點(diǎn)www.tjdsmy.cn都可以打開(kāi)。