VPS搭建单端口多用户SSR(静态网站 mirror)指南
卡尔云官网
www.kaeryun.com
对于网络管理员或开发者来说,VPS(虚拟专用服务器)是一个非常强大的工具,可以让你在单一服务器上运行多个虚拟机,每个虚拟机都可以独立访问不同的端口,这种配置非常适合需要多用户同时访问多个服务的场景,例如同时运行多个SSR(静态网站 mirror)服务,每个用户可以访问同一个网站的不同版本或不同的内容。
本文将详细讲解如何在VPS上搭建一个单端口多用户SSR服务,帮助你轻松实现多用户同时访问同一静态网站的功能。
VPS搭建基础
1 选择合适的VPS平台
搭建VPS的第一步是选择一个可靠的VPS平台,常见的VPS平台有飞鸽虚拟机(VPSCloud)、 Linode、 DigitalOcean、HostGator 等,以飞鸽虚拟机为例,它支持多用户配置,适合新手操作。
2 下载并安装飞鸽虚拟机
访问飞鸽虚拟机的官方网站,下载并安装虚拟机,安装完成后,运行虚拟机,选择一个合适的虚拟机套餐(如V2C套餐),然后开始搭建。
3 配置域名和SSL证书
在VPS上配置域名和SSL证书是VPS的基础,选择一个合法的域名(如example.com),然后注册并购买一个SSL证书(如Let’s Encrypt),将域名指向VPS的IP地址,确保域名可以访问VPS。
4 安装Apache和Nginx
Apache是最常用的Web服务器,而Nginx是一个高性能的Web服务器,常用于反向代理和负载均衡,安装完成后,配置Apache和Nginx,确保它们可以正常运行。
搭建单端口多用户SSR
1 创建用户
在VPS上创建多个用户,每个用户对应一个SSR服务,创建用户1、用户2和用户3。
sudo apt-get install -y useradd -m rootuser1 sudo usermod -a realuser rootuser1 sudo chown rootuser1:/var/www/html sudo chmod 755 /var/www/html
2 配置Apache和Nginx
配置Apache和Nginx,使其支持多用户同时访问SSR服务,配置文件通常位于/etc/apache2/ports.conf
或/etc/nginx/sites-available/
。
<VirtualHost *:80> ServerName example.com DocumentRoot /var/www/html <Directory /var/www/html> AllowOverride All Options -MultiViews </Directory> </VirtualHost>
<VirtualHost *:80> server_name example.com document_root /var/www/html <Directory /var/www/html> AllowOverride All </Directory> </VirtualHost>
3 配置SSR规则
在Apache或Nginx中配置SSR规则,允许多个用户同时访问SSR服务。
<VirtualHost *:80> ServerName example.com DocumentRoot /var/www/html <Directory /var/www/html> AllowOverride All Options -MultiViews <Directory /var/www/html/1> <Directory 1> AllowOverride All Options -MultiViews </Directory> </Directory> </Directory> </VirtualHost>
<VirtualHost *:80> server_name example.com document_root /var/www/html <Directory /var/www/html> AllowOverride All SetEnv PATH_INFO /var/www/html/${ $_SERVER['HTTP_HOST'], $_SERVER['REQUEST_METHOD'], $_SERVER['REQUEST_URI'], $_SERVER['SCRIPT_FILENAME'] } SetEnv PATH_INFO www.${ $_SERVER['HTTP_HOST'], $_SERVER['REQUEST_METHOD'], $_SERVER['REQUEST_URI'], $_SERVER['SCRIPT_FILENAME'] } SetEnv PATH_INFO ftp.${ $_SERVER['HTTP_HOST'], $_SERVER['REQUEST_METHOD'], $_SERVER['REQUEST_URI'], $_SERVER['SCRIPT_FILENAME'] } SetEnv PATH_INFO https.${ $_SERVER['HTTP_HOST'], $_SERVER['REQUEST_METHOD'], $_SERVER['REQUEST_URI'], $_SERVER['SCRIPT_FILENAME'] } </Directory> </VirtualHost>
4 启动SSR服务
启动Apache或Nginx,确保SSR服务可以正常运行。
sudo systemctl start apache2 sudo systemctl start nginx
5 测试SSR服务
登录到VPS,测试多用户是否可以同时访问SSR服务。
sudo SSH -i id_rsa.pub user1@127.0.0.1
输入http://example.com
,应该可以正常访问静态网站,重复上述步骤,登录用户2和用户3,确保他们都可以访问SSR服务。
安全与性能优化
1 配置SSR权限
确保SSR服务的权限足够,但又不暴露安全漏洞,在Apache中设置:
<VirtualHost *:80> ... <Directory /var/www/html) AllowOverride All Options -MultiViews <Directory /var/www/html/1) <Directory 1) AllowOverride All Options -MultiViews </Directory> </Directory> </Directory> </VirtualHost>
2 配置SSR负载均衡
使用Nginx的SSR
模块,配置负载均衡,确保多个用户可以同时访问SSR服务。
<VirtualHost *:80> server_name example.com document_root /var/www/html <Directory /var/www/html) AllowOverride All SetEnv PATH_INFO www.${ $_SERVER['HTTP_HOST'], $_SERVER['REQUEST_METHOD'], $_SERVER['REQUEST_URI'], $_SERVER['SCRIPT_FILENAME'] } SetEnv PATH_INFO ftp.${ $_SERVER['HTTP_HOST'], $_SERVER['REQUEST_METHOD'], $_SERVER['REQUEST_URI'], $_SERVER['SCRIPT_FILENAME'] } SetEnv PATH_INFO https.${ $_SERVER['HTTP_HOST'], $_SERVER['REQUEST_METHOD'], $_SERVER['REQUEST_URI'], $_SERVER['SCRIPT_FILENAME'] } </Directory> </VirtualHost>
3 配置SSR日志
配置SSR日志,监控SSR服务的使用情况。
<VirtualHost *:80> ... <Directory /var/www/html) AllowOverride All SetEnv PATH_INFO www.${ $_SERVER['HTTP_HOST'], $_SERVER['REQUEST_METHOD'], $_SERVER['REQUEST_URI'], $_SERVER['SCRIPT_FILENAME'] } SetEnv PATH_INFO ftp.${ $_SERVER['HTTP_HOST'], $_SERVER['REQUEST_METHOD'], $_SERVER['REQUEST_URI'], $_SERVER['SCRIPT_FILENAME'] } SetEnv PATH_INFO https.${ $_SERVER['HTTP_HOST'], $_SERVER['REQUEST_METHOD'], $_SERVER['REQUEST_URI'], $_SERVER['SCRIPT_FILENAME'] } LogFiles /var/log/nginx/ssl.log daily 100MB </Directory> </VirtualHost>
4 配置SSRSSL证书
确保SSR服务使用SSL证书,防止未授权访问。
<VirtualHost *:80> ... <Directory /var/www/html) AllowOverride All SetEnv PATH_INFO www.${ $_SERVER['HTTP_HOST'], $_SERVER['REQUEST_METHOD'], $_SERVER['REQUEST_URI'], $_SERVER['SCRIPT_FILENAME'] } SetEnv PATH_INFO ftp.${ $_SERVER['HTTP_HOST'], $_SERVER['REQUEST_METHOD'], $_SERVER['REQUEST_URI'], $_SERVER['SCRIPT_FILENAME'] } SetEnv PATH_INFO https.${ $_SERVER['HTTP_HOST'], $_SERVER['REQUEST_METHOD'], $_SERVER['REQUEST_URI'], $_SERVER['SCRIPT_FILENAME'] } ssl_protocols TLSv1.2 TLSv1.3 ssl_certificate file://localhost/letsencrypt/certificates/letsencrypt.com.crt ssl_key file://localhost/letsencrypt/keys/letsencrypt.com.key </Directory> </VirtualHost>
通过以上步骤,你已经成功搭建了一个单端口多用户SSR服务,每个用户都可以通过不同的端口访问同一个静态网站,同时确保安全和性能优化。
如果你有任何问题,可以参考飞鸽虚拟机的官方文档或寻求社区支持,希望这篇文章能帮助你顺利搭建和配置SSR服务!
卡尔云官网
www.kaeryun.com