分类目录归档:技术文章

CentOS8的基础防火墙配置

systemctl使用
systemctl unmask firewalld #执行命令,即可实现取消服务的锁定
systemctl mask firewalld # 下次需要锁定该服务时执行
systemctl start firewalld.service #启动防火墙
systemctl stop firewalld.service #停止防火墙
systemctl reloadt firewalld.service #重载配置
systemctl restart firewalld.service #重启服务
systemctl status firewalld.service #显示服务的状态
systemctl enable firewalld.service #在开机时启用服务
systemctl disable firewalld.service #在开机时禁用服务
systemctl is-enabled firewalld.service #查看服务是否开机启动
systemctl list-unit-files|grep enabled #查看已启动的服务列表
systemctl –failed #查看启动失败的服务列表

firewall-cmd使用
firewall-cmd –state #查看防火墙状态
firewall-cmd –reload #更新防火墙规则
firewall-cmd –state #查看防火墙状态
firewall-cmd –reload #重载防火墙规则
firewall-cmd –list-ports #查看所有打开的端口
firewall-cmd –list-services #查看所有允许的服务
firewall-cmd –get-services #获取所有支持的服务

/usr/lib/firewalld/services

#区域相关
firewall-cmd –list-all-zones #查看所有区域信息
firewall-cmd –get-active-zones #查看活动区域信息
firewall-cmd –set-default-zone=public #设置public为默认区域
firewall-cmd –get-default-zone #查看默认区域信息
firewall-cmd –zone=public –add-interface=eth0 #将接口eth0加入区域public
#接口相关
firewall-cmd –zone=public –remove-interface=eth0 #从区域public中删除接口eth0
firewall-cmd –zone=default –change-interface=eth0 #修改接口eth0所属区域为default
firewall-cmd –get-zone-of-interface=eth0 #查看接口eth0所属区域

用例
firewall-cmd –query-port=8080/tcp # 查询端口是否开放

firewall-cmd –add-port=80/tcp –permanent #永久添加80端口例外(全局)
firewall-cmd –remove-port=80/tcp –permanent #永久删除80端口例外(全局)
firewall-cmd –add-port=65001-65010/tcp –permanent #永久增加65001-65010例外(全局)
firewall-cmd –zone=public –add-port=80/tcp –permanent #永久添加80端口例外(区域public)
firewall-cmd –zone=public –remove-port=80/tcp –permanent #永久删除80端口例外(区域public)
firewall-cmd –zone=public –add-port=65001-65010/tcp –permanent #永久增加65001-65010例外(区域public)

firewall-cmd –reload #重启防火墙(修改配置后要重启防火墙)

nginx+v2ray

参照这个文章的配置,

https://www.ecsoe.com/archives/38.html

一次成功

先安装了nginx+ssl,再安装v2ray,调整配置。

yum -y update
bash <(curl -L -s https://install.direct/go.sh)
systemctl enable v2ray
vi /etc/nginx/conf.d/v2ray.conf

server {
    listen       443 ssl;
    server_name  example.com;

    ssl_certificate    /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key    /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    error_page 497  https://$host$request_uri;

location /ray {
    proxy_pass       http://127.0.0.1:10000;
    proxy_redirect             off;
    proxy_http_version         1.1;
    proxy_set_header Upgrade   $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host      $http_host;
    }
}


{
  "inbounds": [
    {
      "port": 10000,
      "listen":"127.0.0.1",
      "protocol": "vmess",
      "settings": {
        "clients": [
          {
            "id": "你的UUID",
            "alterId": 64
          }
        ]
      },
      "streamSettings": {
        "network": "ws",
        "wsSettings": {
        "path": "/ray"
        }
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom",
      "settings": {}
    }
  ]
}


vi /etc/selinux/config
SELINUX=disabled
setenforce 0

apache下载zip文件没有content-length

同事做的一个东西,遇到一个问题。http下载一个apache提供服务的一个文件,css,html有content-length(可能是文件较小,是把结果显示的?),但是zip文件没有。导致无法做下载的进度条。网上搜了一下,也有人反应这种情况。
生猛的解决办法是注释掉
LoadModule deflate_module modules/mod_deflate.so
当然,这个会影响其他的应用,因为这个是zip包,不需要再压缩了,找到了下面的语句,增加了zip,问题也得到了解决。
# Don’t compress images
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|zip)$ no-gzip dont-vary

原因就是服务器支持压缩,对zip类的文件禁用该功能就行了。

CentOS 6 PHP Mcrypt 支援問題

剛有學生詢問在 CentOS 6 底下 PHP 怎麼沒有 php-mcrypt 模組可以安裝,看了一下光碟內容確實沒這些套件,解決方式如下,可以透過EPEL (Extra Packages for Enterprise Linux) 套件庫來解決缺少的相關套件:

首先,安裝對應的Release檔案:rpm -ivh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm
接著,更新套件庫:yum update
更新後,可以透過 yum repolist 看到套件庫清單中已經有一個新的套件庫,名稱為 epel
之後再試試看 yum install php-mcrypt 便可以透過 epel 套件庫來安裝

转自:http://figaro.neo-info.net/?p=754&cpage=1#comment-300

如何用apache的url_rewrite实现强制https访问

apache的url_rewrite是个神器,有时候一些难以解决的问题,用他就迎刃而解了。
现在的需求是一个服务器的某个文件或者某个目录里的文件,要强制https访问。
用如下的代码

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

如果有别的需求,可以加载rewritecond里。

excel身份证15位转18的代码

没有宏,比较方便。

假设E1是身份证,

=IF(LEN(E1)=15,REPLACE(E1,7,,19)&MID(“10X98765432”,MOD(SUM(MID(REPLACE(E1,7,,19),ROW(INDIRECT(“1:17”)),1)*2^(18-ROW(INDIRECT(“1:17”)))),11)+1,1),UPPER(F2))

此函数可以15到18转换,并可以讲原来不规范的数据小写x,改成大写的。