HTTPS页面 (aaa.com)
└── HTTP iframe (bbb.com)
└── HTTP frame (ccc.com)大概是这种形式的,所以在第一个a网站是我自己写的,所以我就选择了直接使用http替换成https的了
然后配置b网站
server {
listen 80;
server_name www.bbb.com;
# 强制跳转到 HTTPS
return 301 https://$host$request_uri;
}
# 处理www.bbb.com 的 HTTPS 请求
server {
listen 443 ssl;
server_name www.bbb.com;
# SSL 证书配置(你需要配置自己的证书)
ssl_certificate /path/to/your/certificate.crt;
ssl_certificate_key /path/to/your/private.key;
# 添加安全头
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
add_header Content-Security-Policy "upgrade-insecure-requests";
# 代理到后端应用
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
# 特别处理企业查看接口,确保内容中的HTTP链接被替换
location /rotech-xyjq-api/api/enterprise/view {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# 替换内容中的HTTP链接为HTTPS
sub_filter 'http://b-plugin.qixin.com/' 'https://b-plugin.qixin.com/';
sub_filter 'http://b-plugin.qixin.com' 'https://b-plugin.qixin.com';
sub_filter_once off;
}
}这样就可以再a网站加载c网站的了,可以无限套娃了,前提是每个娃娃都有https这个。
]]>sudo apt update && sudo apt upgrade -y
sudo apt install zsh git curl wget -ysh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k编辑 ~/.zshrc:
vim ~/.zshrc注释掉 ZSH_THEME="robbyrussell"
添加 ZSH_THEME="powerlevel10k/powerlevel10k"
# 下载
wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/FiraCode.zip
# 解压
unzip FiraCode.zip -d ~/.local/share/fonts/
# 刷新缓存
fc-cache -fv
# 删除
rm FiraCode.zipgit clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestionsgit clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting编辑配置文件
vim ~/.zshrc文件-代表删除+代表新增
- plugins=(git)
+ plugins=(
+ git
+ zsh-autosuggestions
+ zsh-syntax-highlighting
+ )配置完毕后输入
exec zsh
重启终端
which zsh 查看安装位置
chsh -s $(which zsh)
安装后重启电脑即可
如果想要重新配置可以输入即可
p10k configure
]]>设置代理
export http_proxy="http://127.0.0.1:20171"
export https_proxy="http://127.0.0.1:20171"
取消设置代理
unset http_proxy https_proxy
此方式不支持socket5代理
前情提要:因为要按照某个软件,但是有网络监测机制,一直报错,所以就需要通过代理来运行。
安装:sudo apt update
sudo apt install proxychains -y
配置:
sudo vim /etc/proxychains.conf
在末尾添加socks5 127.0.0.1 20170
然后就可以使用了。
重要知识点:ping 不能被代理!
ping 使用的是 ICMP 协议,不是 TCP/HTTP/SOCKS。
proxychains 只能代理 TCP 和 UDP 连接(比如 curl, wget, git, ssh 等)。
所以你用 proxychains ping ... 是无效的,而且会报错或被忽略。
正确测试 proxychains 是否工作的命令是使用 curl 或 wget
(base) dellevin@dellevin-G3-3579:~/Desktop/WhiteSur-gtk-theme$ proxychains curl -v google.com
ProxyChains-3.1 (http://proxychains.sf.net)
|DNS-request| google.com
|S-chain|-<>-127.0.0.1:20170-<><>-4.2.2.2:53-<><>-OK
|DNS-response| google.com is 142.250.189.238
* Host google.com:80 was resolved.
* IPv6: (none)
* IPv4: 142.250.189.238
* Trying 142.250.189.238:80...
|S-chain|-<>-127.0.0.1:20170-<><>-142.250.189.238:80-<><>-OK
* Connected to google.com (142.250.189.238) port 80
* using HTTP/1.x
> GET / HTTP/1.1
> Host: google.com
> User-Agent: curl/8.12.1
> Accept: */*
>
* Request completely sent off
< HTTP/1.1 301 Moved Permanently
< Location: http://www.google.com/
< Content-Type: text/html; charset=UTF-8
< Content-Security-Policy-Report-Only: object-src 'none';base-uri 'self';script-src 'nonce-p85NwNurE8Yc0yBkcHZmUQ' 'strict-dynamic' 'report-sample' 'unsafe-eval' 'unsafe-inline' https: http:;report-uri https://csp.withgoogle.com/csp/gws/other-hp
< Date: Sat, 23 Aug 2025 05:50:49 GMT
< Expires: Mon, 22 Sep 2025 05:50:49 GMT
< Cache-Control: public, max-age=2592000
< Server: gws
< Content-Length: 219
< X-XSS-Protection: 0
< X-Frame-Options: SAMEORIGIN
<
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>
* Connection #0 to host google.com left intact这样说明我已经可以正常访问了
]]>下面是一个完整教程 ,帮助你快速搭建一个基础的 Samba 服务,并允许其他用户访问你的共享目录。
sudo apt update
sudo apt install samba -y安装完成后,Samba 会自动启动。
Samba 的主配置文件位于:
/etc/samba/smb.conf建议先做一个备份:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak你可以选择共享一个现有目录,比如 /home/dellevin/shared。
mkdir -p /home/dellevin/sharedsudo nano /etc/samba/smb.conf在文件末尾添加如下内容(以共享 shared 目录为例):
[Shared]
comment = Shared Folder
path = /home/dellevin/shared
browseable = yes
read only = no
writable = yes
valid users = dellevin[Shared]:共享名称(客户端看到的名字)path:要共享的目录路径read only = no 和 writable = yes 表示允许写入valid users:允许访问该共享的用户你需要为允许访问的用户设置 Samba 密码(即使该用户已存在 Linux 系统中):
sudo smbpasswd -a dellevin系统会提示你输入并确认 Samba 密码。
⚠️ 注意:这个密码可以和系统密码不同。
sudo systemctl restart smbdsudo systemctl enable smbdsystemctl status smbd确保服务状态是 active (running)。
打开“此电脑”或资源管理器,在地址栏输入:
\\你的Ubuntu服务器IP地址例如:
\\192.168.1.100然后输入用户名 dellevin 和你在 smbpasswd 中设置的密码即可访问。
打开文件管理器(如 Nautilus),按下 Ctrl + L 输入:
smb://192.168.1.100或者使用命令行挂载:
sudo mount -t cifs //192.168.1.100/Shared /mnt/shared -o user=dellevin如果你启用了防火墙 UFW,需要开放 Samba 所需端口:
sudo ufw allow 'Samba'| 操作 | 命令 |
|---|---|
| 安装 Samba | sudo apt install samba |
| 配置文件位置 | /etc/samba/smb.conf |
| 添加共享目录 | 在配置文件中添加[ShareName]块 |
| 设置 Samba 用户密码 | sudo smbpasswd -a username |
| 重启 Samba | sudo systemctl restart smbd |
| 开机自启 | sudo systemctl enable smbd |
| 查看服务状态 | systemctl status smbd |
| 客户端访问地址 | \\IP地址或smb://IP地址 |
sudo vim /etc/systemd/system/frp-panel.service[Unit]
Description=FRP Panel Service
After=network.target
[Service]
User=root
WorkingDirectory=/home/dellevin/frp
ExecStart=/home/dellevin/frp/frp-panel client -s 4f448b4a-1c0f-486d-9f42-aed90f288da5 -i admin.c.home-services --api-url http://152.136.153.72:9000 --rpc-url grpc://152.136.153.72:9001
Restart=always
RestartSec=10s
[Install]
WantedBy=multi-user.targetUser=:运行该服务的用户(这里是 root)WorkingDirectory=:程序运行时的工作目录ExecStart=:要执行的完整命令Restart=always:异常退出后自动重启RestartSec=10s:重启前等待 10 秒sudo systemctl daemon-reexec
sudo systemctl daemon-reloadsudo systemctl enable frp-panel.servicesudo systemctl start frp-panel.service查看运行状态:
sudo systemctl status frp-panel.service如果显示 active (running),说明服务已成功运行。
你可以使用 journalctl 查看服务日志:
journalctl -u frp-panel.service -fsudo systemctl disable 服务名称你可以运行以下命令查看该服务的状态:
systemctl is-enabled frp-panel如果输出是:
disabled说明已经成功取消开机启动了
]]>lsblk命令用于列出所有可用的存储设备及其分区信息
df -h 查看挂载点、文件系统类型、已用空间、可用空间等。
root@dellevin-ubuntu:/# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 63.9M 1 loop /snap/core20/2318
loop1 7:1 0 87M 1 loop /snap/lxd/29351
loop2 7:2 0 38.8M 1 loop /snap/snapd/21759
sda 8:0 0 119.2G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 2G 0 part /boot
└─sda3 8:3 0 117.2G 0 part
└─ubuntu--vg-ubuntu--lv 253:0 0 117.2G 0 lvm /
sdb 8:16 0 465.8G 0 disk
└─sdb1 8:17 0 465.8G 0 part
root@dellevin-ubuntu:/# df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 578M 1.2M 577M 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 115G 7.1G 102G 7% /
tmpfs 2.9G 0 2.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/sda2 2.0G 130M 1.7G 8% /boot
tmpfs 578M 4.0K 578M 1% /run/user/1000可以看到sdb并没有挂载
sudo mkfs.ext4 /dev/sdb1 将这块硬盘格式
化为 ext4 文件系统
root@dellevin-ubuntu:/mnt# sudo mkfs.ext4 /dev/sdb1
mke2fs 1.46.5 (30-Dec-2021)
/dev/sdb1 contains a ntfs file system labelled '系统'
Proceed anyway? (y,N) y
Creating filesystem with 122096000 4k blocks and 30531584 inodes
Filesystem UUID: 86424462-d372-4894-89b2-3186bb52b237
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000
Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks):
done
Writing superblocks and filesystem accounting information: donesudo mount /dev/sdb1 /mnt/500Data 创建挂载点并挂载硬盘
root@dellevin-ubuntu:/mnt# mkdir 500Data
root@dellevin-ubuntu:/mnt# ls
500Data
root@dellevin-ubuntu:/mnt# sudo mount /dev/sdb1 /mnt/500Data
root@dellevin-ubuntu:/mnt# df -h | grep sdb1
/dev/sdb1 458G 28K 435G 1% /mnt/500Data
root@dellevin-ubuntu:/mnt# df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 578M 1.2M 577M 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 115G 7.1G 102G 7% /
tmpfs 2.9G 0 2.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/sda2 2.0G 130M 1.7G 8% /boot
tmpfs 578M 4.0K 578M 1% /run/user/1000
/dev/sdb1 458G 28K 435G 1% /mnt/500Data设置开机自动挂载
sudo blkid | grep /dev/sdb1 查看硬盘UUID
root@dellevin-ubuntu:/mnt/500Data# sudo blkid | grep /dev/sdb1
/dev/sdb1: UUID="86424462-d372-4894-89b2-3186bb52b237" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="1ea79eea-01"vim /etc/fstab 然后编辑 fstab 添加一行:
UUID=86424462-d372-4894-89b2-3186bb52b237 /mnt/500Data ext4 defaults 0 2
]]>创建一个空文件作为交换空间: 使用 dd 命令来创建一个指定大小的文件。我们将创建一个 2GB 的文件 /swapfile。
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048设置适当的权限: 设置正确的文件权限以确保安全,防止非授权访问。
sudo chmod 600 /swapfile初始化交换文件: 使用 mkswap 命令来设置这个文件为交换空间。
sudo mkswap /swapfile激活交换文件: 使用 swapon 命令来启用新的交换空间。
sudo swapon /swapfile验证交换空间: 再次使用 free -h 或者 swapon --show 来确认交换空间已经正确添加。
free -h
# 或者
sudo swapon --show使更改永久生效: 编辑 /etc/fstab 文件,添加一行以确保在系统重启后仍然可以使用新创建的交换空间。 打开 /etc/fstab 文件:
sudo vi /etc/fstab在文件末尾添加如下行:
/swapfile none swap sw 0 0调整 Swappiness 参数(可选): 如果你想要调整内核对 swap 的使用倾向,可以通过编辑 /etc/sysctl.conf 文件来设置 vm.swappiness 参数。例如,将其设置为 10 可能是一个合理的选择。
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p完成以上步骤后,系统应该已经有了 2GB 的 swap 空间,并且它会在每次启动时自动加载。
]]>maven 官网地址:https://maven.apache.org/download.cgi
下载完成后,上传到 linux
创建 maven 文件夹
mkdir -p /usr/local/maven解压 maven 安装包到 maven 文件夹
tar -zxvf apache-maven-3.8.5-bin.tar.gz -C /usr/local/maven进入maven 目录
cd /usr/local/maven/apache-maven-3.8.5/进入 conf 目录
cd conf/创建 maven 资源库目录
mkdir -p /m2/respository编辑 settings.xml 文件
vim settings.xml设置指定的存放位置为
<localRepository>/m2/repository</localRepository>
更改镜像源
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url><http://maven.aliyun.com/nexus/content/groups/public/></url>
<mirrorOf>central</mirrorOf>
</mirror>vim /etc/profile添加 maven 环境变量内容
MAVEN_HOME=/usr/local/maven/apache-maven-3.8.5
PATH=$MAVEN_HOME/bin:$PATH
export MAVEN_HOME PATH重新加载配置文件
source /etc/profile测试查看版本
mvn -version
]]>进入官网找到下载地址 https://redis.io/download
右键Download按钮,选择复制链接。
进入到Xshell控制台(默认当前是root根目录),输入wget 将上面复制的下载链接粘贴上,如下命令:
wget <http://download.redis.io/releases/redis-5.0.7.tar.gz>
下载完成后进行解压
tar -zvxf redis-5.0.7.tar.gz
移动redis目录
一般都会将redis目录放置到 /usr/local/redis目录,所以这里输入下面命令将目前在/root目录下的redis-5.0.7文件夹更改目录,同时更改文件夹名称为redis。
mv /root/redis-5.0.7 /usr/local/redis
编译
cd到/usr/local/redis目录,输入命令make执行编译命令,接下来控制台会输出各种编译过程中输出的内容。
make
安装
输入以下命令make PREFIX=/usr/local/redis install
这里多了一个关键字 PREFIX= 这个关键字的作用是编译的时候用于指定程序存放的路径。比如我们现在就是指定了redis必须存放在/usr/local/redis目录。假设不添加该关键字Linux会将可执行文件存放在/usr/local/bin目录,
库文件会存放在/usr/local/lib目录。配置文件会存放在/usr/local/etc目录。其他的资源文件会存放在usr/local/share目录。这里指定号目录也方便后续的卸载,后续直接rm -rf /usr/local/redis 即可删除redis。
根据上面的操作已经将redis安装完成了。在目录/usr/local/redis 输入下面命令启动redis
后台启动(在配置文件设置了daemonize属性为yes则跟后台进程方式启动其实一样)
./bin/redis-server& ./redis.conf
显示启动方式
./bin/redis-server ./redis.conf
You will need to explicitly install a Java runtime environment, because Oracle's Java RPMs are incorrect and fail to register as providing a java dependency. Thus, adding an explicit dependency requirement on Java would force installation of the OpenJDK JVM.
本文采用rpm形式安装,下载网址
https://archives.jenkins-ci.org/redhat-stable/
rpm安装:
rpm -ivh jenkins-2.164.1-1.1.noarch.rpm配置jenkis的端口:
vim /etc/sysconfig/jenkins找到修改端口号:
JENKINS\_PORT="8080" 修改此端口号
新版Jenkins配置文件需要在启动service里面更改
vim /usr/lib/systemd/system/jenkins.service编辑更改这一行
Environment="JENKINS_PORT=7998”
启动jenkins
service jenkins start
service jenkins stop
service jenkins restart启动失败日志:
[root@iZuefw6wnv6uycZ ~]# systemctl status jenkins.service
● jenkins.service - LSB: Jenkins Automation Server
Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)
Active: failed (Result: exit-code) since Tue 2024-12-10 13:35:05 CST; 12s ago
Docs: man:systemd-sysv-generator(8)
Process: 15057 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=1/FAILURE)
Dec 10 13:35:05 iZuefw6wnv6uycZ systemd[1]: Starting LSB: Jenkins Automation Server...
Dec 10 13:35:05 iZuefw6wnv6uycZ runuser[15062]: pam_unix(runuser:session): session opened for user jenkins by (uid=0)
Dec 10 13:35:05 iZuefw6wnv6uycZ jenkins[15057]: Starting Jenkins bash: /usr/bin/java: No such file or directory
Dec 10 13:35:05 iZuefw6wnv6uycZ runuser[15062]: pam_unix(runuser:session): session closed for user jenkins
Dec 10 13:35:05 iZuefw6wnv6uycZ jenkins[15057]: [FAILED]
Dec 10 13:35:05 iZuefw6wnv6uycZ systemd[1]: jenkins.service: control process exited, code=exited status=1
Dec 10 13:35:05 iZuefw6wnv6uycZ systemd[1]: Failed to start LSB: Jenkins Automation Server.
Dec 10 13:35:05 iZuefw6wnv6uycZ systemd[1]: Unit jenkins.service entered failed state.
Dec 10 13:35:05 iZuefw6wnv6uycZ systemd[1]: jenkins.service failed.可以查看到这里面Starting Jenkins bash: /usr/bin/java: No such file or directory 表示在/usr/bin/java 找到不到java环境,但我是配置了的。所以这里需要配置到对应路径的软连接
ln -s /home/env/java/jdk1.8.0_431/bin/java /usr/bin/java再次启动则启动成功
[root@iZuefw6wnv6uycZ ~]# service jenkins start
Starting jenkins (via systemctl): [ OK ]
[root@iZuefw6wnv6uycZ ~]# systemctl status jenkins.service
● jenkins.service - LSB: Jenkins Automation Server
Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)
Active: active (running) since Tue 2024-12-10 13:39:59 CST; 6s ago
Docs: man:systemd-sysv-generator(8)
Process: 15095 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/jenkins.service
└─15114 /usr/bin/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins....
Dec 10 13:39:58 iZuefw6wnv6uycZ systemd[1]: Starting LSB: Jenkins Automation Server...
Dec 10 13:39:58 iZuefw6wnv6uycZ runuser[15100]: pam_unix(runuser:session): session opened for user jenkins by (uid=0)
Dec 10 13:39:59 iZuefw6wnv6uycZ runuser[15100]: pam_unix(runuser:session): session closed for user jenkins
Dec 10 13:39:59 iZuefw6wnv6uycZ systemd[1]: Started LSB: Jenkins Automation Server.
Dec 10 13:39:59 iZuefw6wnv6uycZ jenkins[15095]: Starting Jenkins [ OK ]在浏览器中访问ip:端口 , 首次进入会要求输入初始密码,
初始密码在:/var/lib/jenkins/secrets/initialAdminPassword
查看密码:
[root@iZuefw6wnv6uycZ ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
e912eae446234c02bdc5a8aea1de6b04接下来选择“Install suggested plugins”安装默认的插件,Jenkins就下载相关的插件进行安装,有时候因为访问外网原因,可以选择手动安装,进入界面自己选择安装。
然后在世配置管理员命令和密码即可
]]>