工具推荐2023 年 11 月 8 日

防止遗忘 - 常用代码block或者configuration

常用代码block或者configuration
最近,ECS到期需要迁移个人业务,所以把一些之前搞过的配置记录下来。

1. Nginx一个服务器配置多个Web服务对外域名https

# 如下方案是直接反向代理至对应服务
server {
    listen 443 ssl;
    # 你需要加https的域名
    server_name debugyourself.henryhe.cn;
    # 你申请的对应域名的https证书在服务器上的位置,若是虚拟机写实际地址;若是容器则写容器内地址,当然证书放在所映射的volumn内
    ssl_certificate   /nginx/conf/conf.d/cert/debugyourself.henryhe.cn.pem;
    ssl_certificate_key  /nginx/conf/conf.d/cert/debugyourself.henryhe.cn.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1.2;
    ssl_prefer_server_ciphers on;
    location / {
        proxy_pass	http://debugyourself.henryhe.cn/; 
    }
}
upstream debugyourself {
        # web服务开放的本地端口例如4321(4321端口的服务通过docker开放了一个nginx服务暴露出4321端口)
        server 127.0.0.1:4321;
    }
server {
    listen 80;
    server_name debugyourself.henryhe.cn;
            location / {
                proxy_pass	http://debugyourself;
            }
}

# 如下方案是直接设置静态目录
server {
    listen 443 ssl;
    server_name henryhe.cn;
    # 设置文件目录,你的文件(例如构建的dist内容)放置在/usr/share/nginx/html即可
    root /usr/share/nginx/html;
    index index.html index.htm;
    ssl_certificate   /nginx/conf/conf.d/cert/henryhe.cn.pem;
    ssl_certificate_key  /nginx/conf/conf.d/cert/henryhe.cn.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1.2;
    ssl_prefer_server_ciphers on;
    location / {
        root /usr/share/nginx/html;
        index index.html index.htm;
        if (-d $request_filename) { 
            rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent; 
        }
    }
}
server {
    listen	80;
    server_name	henryhe.cn;
    return 301 https://$server_name$request_uri;
    }

2. Nginx一个服务器配置多个Web服务,不通过端口对外访问,直接提供域名访问(域名映射到端口)

# 配置后:从 henryhe.cn:4321 访问 -> 从 debugyourself.henryhe.cn 访问
upstream debugyourself {
    server 127.0.0.1:4321;
}
server {
    listen 80;
    server_name debugyourself.henryhe.cn;
            location / {
                proxy_pass	http://debugyourself;
            }
}

3. 之前整理的常用短代码

4. sh脚本中自动化使用scp命令或其他命令,去除输密码环节

# 生成rsa密钥对或者其他算法的
ssh-keygen -t rsa
# 将本地生成的密钥对的公钥id_rsa.pub内容粘贴在对应用户目录.ssh/authorized_keys中即可
~/.ssh ❯ ll                                                                           ✘ INT 4s Node 16.16.0 12:21:29
total 56
-rw-------  1 henryhe  staff   2.6K 11  8 12:19 id_rsa
-rw-r--r--  1 henryhe  staff   590B 11  8 12:19 id_rsa.pub
-rw-------  1 henryhe  staff   2.3K 11  7 21:07 known_hosts