Author: ilaipi

56 Posts

thumbnail
Frp 内网穿透的应用 负载均衡(二)
上一篇讲的是外网服务器A,内网服务器B。 现在,考虑在外网服务器A外面增加一层,比如负载均衡C。 比如华为云,阿里云平台的负载均衡产品。 其实很简单,负载均衡通过tcp转发,把A的对应端口,映射到C的某个端口。 举例: A的frp端口为p1,C通过p2转发到A的p1,C通过p3转发到A的p4 那么,B服务器的配置: [common] server_addr = C server_port = p2 [frp] type = tcp local_ip = 127.0.0.1 local_port = 22 # 本机需要外网访问的端口 remote_port = p3 # frp通过此端口和客户端交互 连接服务器B ssh -P p3 user@C
thumbnail
Frp 内网穿透的应用 tcp(一)
开源Github仓库 应用场景 外网服务器A内网服务器B 希望在任意网络可以访问内外服务器B的22端口。 服务器A 在GitHub的release页面下载最新版安装包,解压。 编辑frps.ini: [common] bind_port = FRP_SERVER_PORT dashboard_port = FRP_WEB_PORT # dashboard 用户名密码,可选,默认为空 dashboard_user = admin dashboard_pwd = admin 如果服务器A上有systemctl命令,可以执行: cp frps /usr/bin/ mkdir /etc/frp cp frps.ini /etc/frp/ cp systemd/frps* /lib/systemd/system/ systemctl start frps.service 把frps安装为系统服务 服务器B 在GitHub的release页面下载最新版安装包,解压。 编辑frpc.ini: [common] server_addr = IP_OF_SERVER_A server_port = FRP_SERVER_PORT [frp] type = tcp local_ip = 127.0.0.1 local_port = 22 # 本机需要外网访问的端口 remote_port = FRP_APP_PORT # frp通过此端口和客户端交互 同样,如果服务器B上有systemctl命令,可以执行: cp frpc /usr/bin/ mkdir /etc/frp cp frpc.ini /etc/frp/ cp systemd/frpc* /lib/systemd/system/ systemctl start frpc.service 连接服务器B ssh -P FRP_APP_PORT user@IP_OF_SERVER_A 有空再写一下,服务器B前面增加一层负载均衡的用法。
Linux系统挂载系统盘
参考链接 ,根据参考链接,判断是否满足扩容条件。 参考阿里云的文档,总结: # 1 创建分区 fdisk /dev/vdb # 依次输入 n(新建分区) p(主分区) # 回车(默认1个分区) 回车(默认起点) 回车(默认终点) # p(查看分区信息) w(写入) # 然后执行以下命令,实现开机挂载硬盘 # 可修改 /mnt 为真实的挂载点,比如 修改为 /data 则把硬盘挂载到 /data目录 echo `blkid /dev/vdb1 | awk '{print $2}' | sed 's/\"//g'` /mnt ext4 defaults 0 0 >> /etc/fstab
快速下载jdk8 11
参考链接 jdk-11.0.10_windows-x64_bin.ziphttps://code.aliyun.com/kar/ojdk-11.0.10/raw/master/jdk-11.0.10_windows-x64_bin.zipjdk-11.0.10_osx-x64_bin.tar.gzhttps://code.aliyun.com/kar/ojdk-11.0.10/raw/master/jdk-11.0.10_osx-x64_bin.tar.gzjdk-11.0.10_linux-x64_bin.tar.gzhttps://code.aliyun.com/kar/ojdk-11.0.10/raw/master/jdk-11.0.10_linux-x64_bin.tar.gzjdk-11.0.10_linux-aarch64_bin.tar.gzhttps://code.aliyun.com/kar/ojdk-11.0.10/raw/master/jdk-11.0.10_linux-aarch64_bin.tar.gzjdk-8u281-linux-aarch64.tar.gzhttps://code.aliyun.com/kar/ojdk-8u281/raw/master/jdk-8u281-linux-aarch64.tar.gzjdk-8u281-linux-x64.tar.gzhttps://code.aliyun.com/kar/ojdk-8u281/raw/master/jdk-8u281-linux-x64.tar.gzjdk-8u281-macosx-x64.dmghttps://code.aliyun.com/kar/ojdk-8u281/raw/master/jdk-8u281-macosx-x64.dmgjdk-8u281-windows-x64.exehttps://code.aliyun.com/kar/ojdk-8u281/raw/master/jdk-8u281-windows-x64.exe 新增Doker镜像供大家使用https://hub.docker.com/u/kingfalse,直接docker pull kingfalse/java8或者docker pull kingfalse/java11即可,默认时区已改为UTC+8 Asia/Shanghai,直接使用即可。 感谢源作者,这里引用一下,方便查看
Wsl2中访问win10的localhost网络代理
转:https://devdojo.com/mvnarendrareddy/access-windows-localhost-from-wsl2 grep -m 1 nameserver /etc/resolv.conf | awk '{print $2}' 执行上面代码,得到一个ip,这个ip代替127.0.0.1或locahost即可。 参考链接:wsl2配置使用windows网络代理 参考链接2:设置代理脚本命令 总结: export hostip=$(cat /etc/resolv.conf |grep -oP '(?<=nameserver\ ).*') SOCKS5_PORT=10808 alias proxy=' export https_proxy="socks5://${hostip}:${SOCKS5_PORT}"; export http_proxy="socks5://${hostip}:${SOCKS5_PORT}"; echo -e "Acquire::http::Proxy \"http://${hostip}:${SOCKS5_PORT}\";" | sudo tee -a /etc/apt/apt.conf.d/proxy.conf > /dev/null; echo -e "Acquire::https::Proxy \"http://${hostip}:${SOCKS5_PORT}\";" | sudo tee -a /etc/apt/apt.conf.d/proxy.conf > /dev/null; ' alias unproxy=' unset https_proxy; unset http_proxy; unset all_proxy; sudo sed -i -e '/Acquire::http::Proxy/d' /etc/apt/apt.conf.d/proxy.conf; sudo sed -i -e '/Acquire::https::Proxy/d' /etc/apt/apt.conf.d/proxy.conf; ' 需要删除原文中: export all_proxy="socks5://${hostip}:1080" 这行,不然代理软件的日志中会出现: unknown Socks version: 67
iOS报错Provisioning profile “XX” doesn’t include signing certificate “xx developer”
转载自:https://www.jianshu.com/p/e7bfacc36950 最新版xcode12,可能有bug。已经安装好了证书,下载了对应的Provisioning Profile,但是一直报这个错。 原因分析 首先保证Provisioning Profile的证书是正确的,并且和错误描述中的证书并不匹配,这时候肯定是xcode对Provisioning Profile的识别是错误的,如果能明确设置为正确的证书就好了。 解决方案 打开 Build Settings -> Signing 块,修改Code Signing Identity 这里,把证书选择为匹配的即可。
垃圾桶
早上在小区门口买了一个煎饼果子,边走边吃。走到一个红绿灯的时候正好吃完,因为之前一次拿着剩下的垃圾一直到第二天下班路上才丢掉,所以想赶紧找垃圾桶,没想到还真看到一个小黑桶,就在路口的角落,绕过一个人就是。于是就绕过这个拿了很大一个行李的人,然后瞬间出手。就在出手的一瞬间发现不妙,这桶好像是那个人的行李的一部分!同时那个人也瞄了一眼喊了一声:诶!我赶紧又伸手拿了回来,连声说:不好意思不好意思。 太尴尬了😅,想想又特别想笑,差点忍不住。正好有口罩,赶紧带上。
使用NPS
GitHub仓库 部署架构 公网服务器A,负载均衡B,内网服务器C 在A上安装nps的服务端,并通过B访问nps服务。 服务端 appname = nps #Boot mode(dev|pro) runmode = dev #HTTP(S) proxy port, no startup if empty http_proxy_ip=0.0.0.0 http_proxy_port= https_proxy_port= https_just_proxy=true #default https certificate setting https_default_cert_file=conf/server.pem https_default_key_file=conf/server.key ##bridge bridge_type=tcp bridge_port=${YOUR_BRIDGE_PORT} bridge_ip=0.0.0.0 # Public password, which clients can use to connect to the server # After the connection, the server will be able to open relevant ports and parse related domain names according to its own configuration file. public_vkey=${YOUR_PUBLIC_VKEY} #Traffic data persistence interval(minute) #Ignorance means no persistence #flow_store_interval=1 # log level LevelEmergency->0 LevelAlert->1 LevelCritical->2 LevelError->3 LevelWarning->4 LevelNotice->5 LevelInformational->6 LevelDebug->7 log_level=7 #log_path=nps.log #Whether to restrict IP access, true or false or ignore #ip_limit=true #p2p #p2p_ip=127.0.0.1 #p2p_port=6000 #web web_host= web_username=npsadmin web_password=${YOUR_ADMIN_PASSWORD} web_port = ${YOUR_WEB_PORT} web_ip=0.0.0.0 web_base_url= web_open_ssl=false web_cert_file=conf/server.pem web_key_file=conf/server.key # if web under proxy use sub path. like http://host/nps need this. #web_base_url=/nps #Web API unauthenticated IP address(the len of auth_crypt_key must be 16) #Remove comments if needed #auth_key=test auth_crypt_key =${YOUR_AUTH_CRYPT_KEY} #allow_ports=9001-9009,10001,11000-12000 #Web management multi-user login allow_user_login=false allow_user_register=false allow_user_change_username=false #extension allow_flow_limit=false allow_rate_limit=false allow_tunnel_num_limit=false allow_local_proxy=false allow_connection_num_limit=false allow_multi_ip=false system_info_display=false #cache http_cache=false http_cache_length=100 #get origin ip http_add_origin_header=false #pprof debug…
Ubuntu 非root远程登录
服务器使用Ubuntu,做点简单处理,使用非root用户。 ssh远程登录 首先保证能通过root连接,可用root用户执行以下命令: chown root:root -R /root/.ssh/ chmod 700 /root/.ssh/ chmod 600 /root/.ssh/authorized_keys chown me:me -R /home/lingdou/.ssh/ chmod 700 /home/me/.ssh/ chmod 600 /home/me/.ssh/authorized_keys 其中 me 是要登录的用户名,需要提前创建好。 将用户加入sudo gpasswd -a me sudo echo "me ALL=(ALL) NOPASSWD: ALL" | (EDITOR="tee -a" visudo) 禁用密码和root登录 修改 /etc/ssh/sshd_config : PermitRootLogin no PasswordAuthentication no 重启服务:service sshd restart
mysql 5.7 Disable ONLY_FULL_GROUP_BY
参考链接 修改 /etc/mysql/mysql.conf.d/mysqld.cnf文件,添加: [mysqld] sql-mode = "STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION" 注:低版本的(可能小于5.7.18)添加的是: [mysqld] sql_mode = "STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION" sql-mode 和 sql_mode的区别。 不确定的都试一下。 这个配置是mysql docker容器的配置文件,如果是host直接安装的,需要改自己的配置文件。另外,[mysqld]是已经存在的,就只加下面的就可以了。 改完记得重启容器。