很多站长可能都有同样的烦恼,直连中国线路好的服务器价格昂贵或者不稳定,而物美价廉又稳定的服务器呢线路不好,访问速度慢,两者很难兼得或者成本很高。
这个难题其实用一个很简单的部署策略就可以解决,就是加一层前端反代。用线路好的小规格vps,反代线路差但是稳定强健的后端服务器。
具体操作如下:
后端先架好你的网站,就是该装的php mysql apache啥的,都有很多一键包,这里不多说了。
找一个线路好的小vps做前端,修改网站域名的a记录到这个前端。然后前端简单装一个debian就行,进ssh后运行命令 apt-
get install -y nginx
(这一步如果出错就先apt-get update 更新一下软件包)
nignx装好后
rm -rf /etc/nginx/nginx.conf
然后
vi /etc/nginx/nginx.conf
进入vi编辑器之后按一下i进入插入模式,粘贴入以下内容
user www-data;worker_processes 4;pid /run/nginx.pid;events {worker_connections 768;}http {sendfile on;tcp_nopush on;tcp_nodelay on;keepalive_timeout 65;types_hash_max_size 2048;server_tokens off;include /etc/nginx/mime.types;default_type application/octet-stream;ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLEssl_prefer_server_ciphers on;access_log /var/log/nginx/access.log;error_log /var/log/nginx/error.log;proxy_connect_timeout 5; proxy_read_timeout 60; proxy_send_timeout 5;proxy_buffer_size 16k;proxy_buffers 4 64k;proxy_busy_buffers_size 128k;gzip on;gzip_disable "msie6";gzip_min_length 1k;gzip_buffers 4 16k;gzip_http_version 1.0;gzip_comp_level 2;gzip_types text/plain application/x-javascript text/css application/xml;gzip_vary on;include /etc/nginx/conf.d/*.conf;include /etc/nginx/sites-enabled/*;}
然后 :wq回车 保存退出,这就完成了nginx的反代设置
接下来就可以建立一个反代网站了:
vi /etc/nginx/sites-enabled/mjj.party
进入编辑器后按i并粘贴入以下内容:
server { listen 80; server_name mjj.party www.mjj.party; index index.html index.htm index.php; access_log off; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Referer http://mjj.party; proxy_set_header Host $host; proxy_set_header Cookie $http_cookie; proxy_pass http://1.1.1.1; }}
(其中mjj.party替换成你的网站域名, 1.1.1.1换成你的后端服务器ip)
然后 :wq回车 保存退出,service nginx restart 重启nginx
结束
应用这个策略,还可以灵活的应付ddos攻击,你只要注意保护后端ip不要泄露,攻击者只能打你的前端,而你要做的只是适时的换一个前端就行了。
作者:orlog
支持作者:http://gaoit.de
查看原帖:https://www.hostloc.com/thread-415706-1-1.html