Nginx允许多个域名又不使用*号的跨域访问配置
当浏览器发起ajax请求到其他域名时,会出现跨域的问题,可以通过在nginx的配置文件上的增加配置Access-Control-Allow-Origin来解决,但此参数只允许配置单个域名或者*,当我们需要允许多个域名跨域访问时不好配置,这时可以使用nginx的map来实现,使用map的配置方法如下: #nginx.conf部分相关配置内容如下 map$http_origin$origin_allowed{ default0; https://domain1.com1; https://domain2.com1; } map$origin_allowed$origin{ default""; 1$http_origin; } server{ server_namesomehost...[>>…]
Linux下lsof命令使用详解
调试的时候通过查看进程或系统打开的文件能给调试带来极大的帮助,而lsof命令能显示Linux系统当前已打开的所有文件列表。lsof(listopenfiles)命令用于查看你进程打开的文件,打开文件的进程,进程打开的端口(TCP、UDP),还可以用于找回/恢复被删除的文件。lsof命令需要访问核心内存和各种文件,只有root权限用户才能执行此命令。 [test@server/]lsof lsof:commandnotfound [test@server/]yuminstalllsof-y Installing: lsofx86_644.82-4.el6base319k [test@server/]# lsof -i6 CO...[>>…]
关于Hugging Face:拥抱的脸
HuggingFace是一家创立于2016年的人工智能企业。其宗旨让最先进的NLP技术人人易用。最早是致力于开发聊天机器人,但没有做大。之后HuggingFace向NLP领域转变。在Bert发布后他们贡献了一个基于Pytorch的Bert预训练模型pytorch-pretrained-bert,顺着NLP模型的发展不断扩张。如今HuggingFace整合了他们贡献的NLP领域的预训练模型,发布了Transformers库。Transformers提供了数以千计的预训练模型(包括我们熟知的Bert、GPT、GPT-2、XLM等),支持100多种语言的文本分类、信息抽取、问答、摘要...[>>…]
docker容器中获取服务器Mac地址-Python获取服务器Mac地址
在docker容器中是无法直接获取宿主服务器中的Mac地址的,容器中使用命令或者程序中所获取的mac地址是容器内部的临时Mac地址,但这样Mac地址会在进行一操作比如服务器重启、容器重新构建的时候会发生变化,只在restart容器的时候不会变,这就不符合我们取mac地址的用途(取mac就是希望得到一个不变的硬件服务器相关的参数值)。 #在docker容器里的python程序中可以使用如下命令获取容器的mac地址。 importsh mac=sh.grep(sh.ifconfig("eth0"),"-oE","[a-fA-F0-9:]{17}") mac=mac.strip() &nbs...[>>…]
public key is not available: NO_PUBKEY gpg: keyserver receive failed: Server indicated a failure
在文章 http://www.04007.cn/article/1019.html中,安装mysql的过程中添加进mysql的源后,再执行apt-get更新源时可能会出现下面的错误。Thefollowingsignaturescouldn'tbeverifiedbecausethepublickeyisnotavailable:NO_PUBKEY467B942D3A79BD29W:GPGerror:http://repo.mysql.com/apt/ubuntubionicInRelease:Thefollowingsignaturescouldn'tbeverifiedbecausethepublickeyisnotavailable:NO_PUBKEY467B942D3A79BD29 根据报错提示是当前的公钥不可用,在之前的文...[>>…]
VUE二级路由刷新时报错Uncaught SyntaxError: Unexpected token '<' (at app.js:1:1)
在使用vue搭建运行一个项目时,碰到一个奇怪的问题,从首页跳到二级页面的话页面能正常显示,但是在二级页面里刷新的时候页面就白屏了,然后在控制台中发现有报错:UncaughtSyntaxError:Unexpectedtoken'<'(atapp.js:1:1) <!DOCTYPEhtml>。比如访问:http://127.0.0.1:4567/正常,从这个页面跳转到:http://127.0.0.1:4567/article/128时也正常,但是在这个 http://127.0.0.1:4567/article/128页面刷新时就不正常了。我的项目使用的是history模式。 &nbs...[>>…]
Python使用RSA实现非对称加解密
Python使用RSA非对称加解密需要依赖Crypto库。不然会报Nomodulenamed'Crypto'的错误。Crypto库是一个用c++编写的密码类库。Crypto算法库在python中最初叫pycrypto,之后没有再更新过,后来有人在此基础上写了个替代库pycryptodome。这个库目前只支持python3,因此要使用Crypto(Python3.*),直接安装pipinstallpycryptodome。Crypto库中的功能分类如下:常见对称密码在Crypto.Cipher库下,主要有:DES3DESAESRC4Salsa20非对称密码在Crypto.PublicKey库下,主要有:RSAECCDSA哈希密码在Crypt...[>>…]
Python使用pip安装install模块时指定默认源
经常安装的时候收到提示:WARNING:Retrying(Retry(total=4,connect=None,read=None,redirect=None,status=None))afterconnectionbrokenby'ConnectTimeoutError(<pip._vendor.urllib3.connection.HTTPSConnectobjectat0x00000195FDBFC6A0>,'Connectiontopypi.orgtimedout.(connecttimeout=15)')':/simple/crypto/这和本地的网络限制和网速有关,之前在docker容器中也碰到过类似情形,见地址:http://www.04007.cn/article/1034.html 可以通过指定python源的方式来进行安装,如下指定源为...[>>…]
FastApi自定义接口文档/docs中的静态资源文件
之前写过一篇文章:http://www.04007.cn/article/915.html是通过修改fastapi的库文件里的代码来实现接口文档/docs中静态资源文件修改为本地文件,但这样的方法并不是一个好方法,因为在部署环境时要去修改镜像里的库文件代码,不正规不方便。实际fastapi在其文档里有相关的功能描述,地址https://fastapi.tiangolo.com/advanced/extending-openapi/?h=get_swagger_ui_html#serve-the-static-files其中的例子简化修改一下如下: #引入库要的库 fromfastapiimportFastAPI fromfastapi.openapi....[>>…]
Nginx头信息漏洞扫描各种出的常用漏洞处理修复方法
因为原有一个业务服务使用Nginx做了一个代理,漏洞扫描后报了不少头信息问题,进行了修复并将方法进行记录如下,以下配置均在nginx.conf文件中添加。漏洞内容:点击劫持:缺少X-Frame-Options关于http头部X-Frame-Options缺失漏洞解决,X-Frame-Options有三个可选项:DENY#拒绝任何域加载SAMEORIGIN#允许同源域下加载(常用)ALLOW-FROM#可以定义允许frame加载的页面地址解决方法:add_headerX-Frame-OptionsSAMEORIGIN;漏洞内容:HTTPStrict-Transport-Security响应头缺失HTTPStrict-Transp...[>>…]