0x00 准备工作
LNMP环境
已经安装好nextcloud并能够正常访问,安装过程:https://conimi.com/archives/69
单端口多域名,80端口访问http,443端口访问https
一台具有公网IP的服务器
注意(可忽略,仅作为个人笔记):
由于树莓派一般处于局域网内,因此要通过域名访问可通过修改本地host文件,然后在路由器上实现端口转发在利用LNMP添加SSL证书时,直接添加无法成功,一种解决的办法是,获取局域网公网ip,在路由器上将80端口转发到树莓派80端口(例如树莓派局域网ip为192.168.0.103),然后添加ssl证书先在服务器上添加证书,然后下载到本地
0x01 frp安装及配置
frp官网地址:https://github.com/fatedier/frp/releases
服务器上不需要安装LNMP环境
服务器安装frps及配置
我的安装路径/opt/frps/frps_80/
以下是我的frps的配置
[common]bind_addr = 0.0.0.0bind_port = 7000auth_token = 12345678vhost_http_port = 80vhost_https_port = 443
树莓派安装frpc及配置
由于我是在树莓派上安装的,因此frpc选择的是ARM版本,根据相应环境选择相对应版本。
我的安装路径/opt/frpc/frpc_80/
以下是我的frps的配置
[common]server_addr = 34.45.23.1server_port = 7000auth_token = 12345678log_file = /opt/frpc/frpc_80/frpc.loglog_level = info#与Aria2有关,可忽略[web1]type = httplocal_port = 80custom_domains = aria2.conimi.comhost_header_rewrite = aria2.conimi.com[web2]type = httplocal_port = 80custom_domains = pan.conimi.comhost_header_rewrite = pan.conimi.com[web3]type = httpslocal_port = 443custom_domains = pan.conimi.comhost_header_rewrite = pan.conimi.com
注意:
由于本地多个域名共用一个80端口和443端口,nginx通过http 请求中的 host 字段来确定是哪个网站,因此需要加上
host_header_rewrite
,而custom_domains
是必须的。
0x02 frp自启动
服务器系统为CentOS
树莓派系统为Debian
frps实现开机自启
cd /etc/init.dtouch frps && chmod +x frpsvim frps
其中frps
的内容为
#!/bin/sh### BEGIN INIT INFO# Provides: frps# Required-Start: $network $remote_fs $local_fs# Required-Stop: $network $remote_fs $local_fs# Default-Start: 2 3 4 5# Default-Stop: 0 1 6# Short-Description: frps# Description: frp### END INIT INFOnohup /opt/frps/frps_80/./frps -c /opt/frps/frps_80/./frps.ini >/dev/null 2>&1 &exit 0
保存并设置为开机自启
update-rc.d frps defaults
frpc实现开机自启
cd /etc/init.dtouch frpc && chmod +x frpcvim frpc
其中frpc
的内容为
#!/bin/sh### BEGIN INIT INFO# Provides: frpc# Required-Start: $network $remote_fs $local_fs# Required-Stop: $network $remote_fs $local_fs# Default-Start: 2 3 4 5# Default-Stop: 0 1 6# Short-Description: frpc# Description: frp### END INIT INFOnohup sleep 6;/opt/frpc/frpc_80/./frpc -c /opt/frpc/frpc_80/./frpc.ini >/dev/null 2>&1 &exit 0
保存并设置为开机自启
update-rc.d frpc defaults
0x03 设置301重定向
将域名解析到服务器公网ip
通过域名能够访问http和https
我的nginx配置路径为:/usr/local/nginx/conf/vhost/pan.conimi.com.conf
其中配置为:
server{listen 80;listen [::]:80;server_name pan.conimi.com ;return 301 https://pan.conimi.com$request_uri;}server{listen 443 ssl http2;listen [::]:443 ssl http2;server_name pan.conimi.com ;index index.html index.htm index.php default.html default.htm default.php;root /home/wwwroot/pan.conimi.com;ssl on;ssl_certificate /usr/local/nginx/conf/ssl/pan.conimi.com/fullchain.cer;ssl_certificate_key /usr/local/nginx/conf/ssl/pan.conimi.com/pan.conimi.com.key;ssl_session_timeout 5m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_prefer_server_ciphers on;ssl_ciphers "EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";ssl_session_cache builtin:1000 shared:SSL:10m;ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem;include enable-php-pathinfo.conf;location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${expires 30d;}location ~ .*\.(js|css)?${expires 12h;}location ~ /.well-known {allow all;}location ~ /\.{deny all;}access_log off;}
文章转载自Torrk,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




