Nginx一个server主机上80、433 http、https共存

如果一站点既要80 http访问,又要443https访问。

要让https和http并存,不能在配置文件中使用ssl on,配置listen 443 ssl;

实例

 

 

let’s encrypt no response “Installing Python packages

自动安装let’s encrypt 时卡在Installing Python packages…界面。

原因:GFW

解决方法:

vim ~/.pip/pip.conf

 

no response “Installing Python packages” when letsencrypt-auto

延续https的时间的时候,遭遇no response “Installing Python packages”,卡在一直不动的解决方法

主要执行 三,四即可

一.重新配置pip的源文件

二.切换源 为aliyun 源
1、备份

2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/

3、之后运行yum makecache生成缓存

三:升级对应更新

四:续期https 可以加 –verbose 看详细信息

 

如何为Let’s Encrypt颁发的SSL证书续期

为Let’s Encrypt颁发的SSL证书续期

首先SSH登录Linux服务器,停止Nginx进程.

然后输入下面的命令为SSL证书续期.

将your-email-address替换为你的真实邮箱地址.–agree-tos意思是agree terms of service. 以上两条命令是假设你使用git安装letsencrypt客户端.

如果你使用Linux发行版的软件源安装letsencrypt客户端,那么使用下面的命令来为SSL证书续期.

如果续期成功,那么你会看到如下消息.

续期成功后启动nginx进程.

如果续期后,在浏览器中打开你的网站还是会显示证书过期错误,那么你可能需要重启你的计算机,然后再用浏览器打开网站.

 

mamp pro 4.0.6注册码 序列号,mamp pro4 激活

说明下,这个方法可以永久试用mamp pro 4 !!!本博客之前发布过mamp 3.X的序列号,需要激活mamp pro3的可以在博客搜索。

 

永久试用方法只适用于mamp  4.0 —   mamp  4.0.6 ,mamp pro 4.1已修复此BUG,所以此方法不适用mamp 4.1!

建议使用mamp 4.0.6。

下载地址:http://downloads10.mamp.info/MAMP-PRO/releases/4.0.6/MAMP_MAMP_PRO_4.0.6.pkg

激活方法:

1.正常安装4.0.6.

2.安装后不要打开,先把系统时间改了,比如改到2019年。

3.打开mamp pro 就可以看到试用到期的时间,然后时间就可以改回来了

2017年linux使用letsencrypt配置https证书教程

letsencrypt 是和startssl类似的免费https证书,经过对比,个人认为letsencrypt更加好用,比startssl更好用。

安全者是用的startssl,startssl的配置教程我就不再讲了,博客之前的文章已经讲过了,不会配置的可以在这里搜索下。

我的服务器环境是lnmp.所以这里我主要讲解nginx下面的https配置。

1,选择操作系统和环境

打开,https://certbot.eff.org/ ,我的系统是centos 7 ,所以我选择的是下面这个

2,执行如下命令

我就一个域名 我所我执行的命令是

最后生成的证书在

里面有四个证书文件

这样 证书就生成成功了,最后修改的nginx的配置文件就好了

3.修改nginx的配置文件

下面的是我的配置文件,我设置了80强制跳转到443.

然后就配置完成了 so easy,访问api.cnsecer.com试试吧

让阿里云支持ipv6 支持centos7

LNMP昨天开始,微魔感冒发烧39度,还到医院挨了一针,很是可怜,今天也没什么心思再寻找促销了,顺便最近在重新再给微魔部落部署ipv6,就给大家再总结一下近期的心得吧。微魔之前曾经发过让Nginx支持ipv6的文章,当时操作的VPS是BuyVM的,这家支持原生(Native)的ipv6,所以不用多说,只需要提交一个tk,ipv6地址就帮你部署了,但是,像阿里云这样的VPS(不支持原生ipv6)该肿么办呢?好吧,不绕弯子了,大家可以通过HE.NET提供的Tunnel Broker这个所谓的ipv6的隧道间接的让自己的VPS支持ipv6。当然本文的方法很多朋友见过,高手勿笑~另外该方法普遍通用于其他的VPS~

让阿里云支持ipv6(其他多数VPS通用)

1.注册Tunnel broker(略去)

官网链接

2.创建通道“Create Regular Tunnel”,填写VPS的ip以及选择默认的隧道节点,点击Create Tunnel创建

填写ip都,如果出现“IP is a potential tunnel endpoint.”则证明可以添加ipv6隧道,一般隧道节点系统已经默认分配,但可以手动选择,大家可以根据自己的实际情况操作


3.到下一页面切换到Example configurations选项卡,如果你的VPS是centOS/Debian这些常见Linux的话,下拉菜单选择Linux-route2,出现了设置的命令,复制下来在,到自己的VPS上运行。

4.在自己VPS下运行如下命令,如能见到自己之前的ipv6的ip,如X:X:X:X::2即成功了~

centos7启用ssh证书登录

前言

本文基于实际Linux管理工作,实例讲解工作中使用ssh证书登录的实际流程,讲解ssh证书登录的配置原理,基于配置原理,解决实际工作中,windows下使用SecureCRT证书登录的各种问题,以及实现hadoop集群部署要求的无密码跳转问题。

ssh有密码登录和证书登录,初学者都喜欢用密码登录,甚至是root账户登录,密码是123456。但是在实际工作中,尤其是互联网公司,基本都是证书登录的。内网的机器有可能是通过密码登录的,但在外网的机器,如果是密码登录,很容易受到攻击,真正的生产环境中,ssh登录都是证书登录。

证书登录的步骤

1.客户端生成证书:私钥和公钥,然后私钥放在客户端,妥当保存,一般为了安全,访问有黑客拷贝客户端的私钥,客户端在生成私钥时,会设置一个密码,以后每次登录ssh服务器时,客户端都要输入密码解开私钥(如果工作中,你使用了一个没有密码的私钥,有一天服务器被黑了,你是跳到黄河都洗不清)。

2.服务器添加信用公钥:把客户端生成的公钥,上传到ssh服务器,添加到指定的文件中,这样,就完成ssh证书登录的配置了。

假设客户端想通过私钥要登录其他ssh服务器,同理,可以把公钥上传到其他ssh服务器。

真实的工作中:员工生成好私钥和公钥(千万要记得设置私钥密码),然后把公钥发给运维人员,运维人员会登记你的公钥,为你开通一台或者多台服务器的权限,然后员工就可以通过一个私钥,登录他有权限的服务器做系统维护等工作,所以,员工是有责任保护他的私钥的,如果被别人恶意拷贝,你又没有设置私钥密码,那么,服务器就全完了,员工也可以放长假了。

客户端建立私钥和公钥

在客户端终端运行命令

rsa是一种密码算法,还有一种是dsa,证书登录常用的是rsa。

假设用户是blue,执行 ssh-keygen 时,才会在我的home目录底下的 .ssh/ 这个目录里面产生所需要的两把 Keys ,分别是私钥 (id_rsa) 与公钥 (id_rsa.pub)

另外就是私钥的密码了,如果不是测试,不是要求无密码ssh,那么对于passphrase,不能输入空(直接回车),要妥当想一个有特殊字符的密码。

ssh服务端配置

ssh服务器配置如下:

配置好ssh服务器的配置了,那么我们就要把客户端的公钥上传到服务器端,然后把客户端的公钥添加到authorized_keys

在客户端执行命令

在服务端执行命令

如果有修改配置/etc/ssh/sshd_config,需要重启ssh服务器

客户端通过私钥登录ssh服务器

ssh命令

scp命令

每次敲命令,都要指定私钥,是一个很繁琐的事情,所以我们可以把私钥的路径加入ssh客户端的默认配置里

修改/etc/ssh/ssh_config

其他应用场景

SecureCRT密钥key远连接程ssh证书登录Linux

国内大部分人用的系统是windows,而windows下有很多ssh客户端图形工作,最流行,功能最强大的就是SecureCRT了,所以我会单独针对SecureCRT简单讲下实现ssh证书登录Linux的要点,步骤如下:

1:在SecureCRT创建私钥和公钥:主菜单->工具->创建公钥->选择RSA->填写私钥的密码->密钥长度填为1024->点击完成,生成两个文件,默认名为identity和identity.pub

2.把私钥和公钥转换为OpenSSH格式:主菜单->工具->转换私钥到OpenSSH格式->选择刚生成私钥文件identity->输入私钥的密码->生成两个文件,指定为id_rsa,id_rsa.pub

3.把公钥id_rsa.pub上传到ssh服务器,按照之前配置服务器端的证书,再配置一次。

另外,如果你之前用windows的 SecureCRT的证书登录linux的,有一天你换成了linux,并希望通过原来的私钥登录公司的服务器,那么可以把id_rsa拷贝倒~/.ssh/目录下,配置ssh客户端参考上文。

备注:ssh对证书的文件和目录权限比较敏感,要么根据出错提示设置好文件和目录权限,要么是把StrictModes选项设置为no

hadoop部署的无密码ssh登录

hadoop要求master要无密码跳转到每个slave,那么master就是上文中的ssh客户端了,步骤如下

在hadoop master上,生成公钥私钥,这个场景下,私钥不能设置密码。

把公钥上传到每个slave上指定的目录,这样就完成了ssh的无密码跳转了。

总结

ssh证书登录,在实际工作才是最常用的登录方式,本人结合了真正工作的场景普及了ssh证书登录的知识,并根据流行的hadoop部署和windows下最常用的SecureCRT实例讲解了证书登录。

 

转载自:http://www.cnblogs.com/ggjucheng/archive/2012/08/19/2646346.html

 

cocoapods更换源 解决pod各种慢

gem换源的方法在上一篇文章已经说过,这里不再多说。

pod安装成功后,一定要记得执行pod setup命令初始化

pod repo换源

cocoa pods如果使用命令

会出现以下的字眼(这里我已经换源了,本来是来自github的源)

如果你的是0 repo说明你没有执行pod setup命令

有大神提供了几个镜像,使用如下方法换掉repo的源

目前搜集到的可选源有

https://gitcafe.com/akuandev/Specs.git

http://git.oschina.net/akuandev/Specs.git

https://git.coding.net/hging/Specs.git

(实际上就是几个常见的git托管站都有哈哈哈哈)

假如打开Podfile,我们可以看到这么一条

将这个也换为刚刚repo使用的源,否则依然会从Github上面clone东西

最后,完成了上述两处地方更改之后,就可以直接使用

如果还是没解决,就看下这篇文章吧:http://blog.csdn.net/q364385155/article/details/50505372

macos 10.12升级ruby到2.2.x以上

mac默认安装的就有ruby,macos10.12默认的ruby版本的事2.0.

在升级前需要安装rvm,

rvm是什么?为什么要安装rvm呢,因为rvm可以让你拥有多个版本的Ruby,并且可以在多个版本之间自由切换。
第一步:安装rvm

等待终端加载完毕,后输入:

如果能显示版本好则安装成功了。

第二步:安装ruby

列出ruby可安装的版本信息

安装一个ruby版本

如果想设置为默认版本,可以用这条命令来完成

查看已安装的ruby

卸载一个已安装ruby版本

第三步:更换源

查看已有的源

显示会如下:

然后我们需要来修改更换源(由于国内被墙)所以要把源切换至淘宝镜像服务器 在终端执行以下命令

 

 

lnmp下mysql 5.6内存占用过高解决方法

最新的lnmp一键包1.2里,可以选择mysql5.6版本安装,但是最近发现mysql有时候会出现挂掉的情况,看一下mysql错误日志,应该是内存占满导致的,1G内存的vps是伤不起的。。

重启mysql服务后,top一下发现这一个mysql服务就占用了500多MB内存。。

Google一番,贴一下记录:

mysql5.6的默认配置是不适合小型站点的,win的话在my.ini里修改、linux则在/etc/my.cnf里修改performance_schema_max_table_instances参数,有就修改,没有就追加

修改完毕后,重启mysql服务,service mysql restart,然后top后发现内存占用少了一半,应该还有很大优化空间,鉴于内存基本够用了,就不继续折腾了。

windows Python3.5 用 pip 安装scrapy时出现 “Unable to find vcvarsall.bat ”

我在网上搜了好多,说需要安装 vs2010,但是我安装了vs2010专业版,依然还是这个问题“Unable to find vcvarsall.bat ”
再然后,我又照网上说的下载安装MinGW了,并且修改了环境变量等一系列东西,最后错误又变成了“TypeError: unorderable types: NoneType() >= str()”
请问这个到底该怎么解决???

其实不用安装vs和mingw,解决方案如下

1. 安装wheel,命令行运行:

2.在这里下载对应的.whl文件,注意别改文件名

http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml

Ctrl + F,输入lxml,找到下面这段

Lxml, a binding for the libxml2 and libxslt libraries.
lxml‑3.4.4‑cp27‑none‑win32.whl
lxml‑3.4.4‑cp27‑none‑win_amd64.whl
lxml‑3.4.4‑cp33‑none‑win32.whl
lxml‑3.4.4‑cp33‑none‑win_amd64.whl
lxml‑3.4.4‑cp34‑none‑win32.whl
lxml‑3.4.4‑cp34‑none‑win_amd64.whl
lxml‑3.4.4‑cp35‑none‑win32.whl
lxml‑3.4.4‑cp35‑none‑win_amd64.whl

cp后面是Python的版本号,27表示2.7,根据你的Python版本选择下载。

3. 进入.whl所在的文件夹,执行命令即可完成安装

问题即可解决

ADD06B02DCB98B177B058939D12F04A0

windows7 Python3 环境运行 Scrapy

都说windows下的python3不支持scrapy,这里给出解决方案

1,引言

Scrapy的架构初探》一文讲解了Scrapy的架构,本文就实际来安装运行一下Scrapy爬虫。本文以官网的tutorial作为例子,完整的代码可以在github上下载。

2,运行环境配置

  • 本次测试的环境是:Windows10, Python3.4.3 32bit
  • 安装Scrapy : $ pip install Scrapy #实际安装时,由于服务器状态的不稳定,出现好几次中途退出的情况

3,编写运行第一个Scrapy爬虫

3.1. 生成一个新项目:tutorial

项目目录结构如下:
6e94958502a984850abcd4f50ee98cea_r
3.2. 定义要抓取的item

3.3. 定义Spider

3.4. 运行

1) 结果报错:
A) ImportError: cannot import name ‘_win32stdio’
B) ImportError: No module named ‘win32api’

2) 查错过程:查看官方的FAQstackoverflow上的信息,原来是scrapy在python3上测试还不充分,还有小问题。

3) 解决过程:
A) 需要手工去下载twisted/internet下的 _win32stdio 和 _pollingfile,存放到python目录的lib\sitepackages\twisted\internet下
B) 下载并安装pywin32

再次运行,成功!在控制台上可以看到scrapy的输出信息,待运行完成退出后,到项目目录打开结果文件items.json, 可以看到里面以json格式存储的爬取结果。

第一次运行scrapy的测试成功。

4,接下来的工作

接下来,我将使用GooSeeker API来实现网络爬虫,省掉对每个item人工去生成和测试xpath的工作量。目前有2个计划:

  1. 在gsExtractor中封装一个方法:从xslt内容中自动提取每个item的xpath
  2. 从gsExtractor的提取结果中自动提取每个item的结果

具体选择哪个方案,将在接下来的实验中确定,并发布到gsExtractor新版本中
5,文档修改历史

2016-06-11:V1.0,首次发布

作者:华天清
链接:https://zhuanlan.zhihu.com/p/21335106
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

This request has been blocked; the content must be served over HTTPS

今天把万家店升级到了https,升级后,用https访问总是报错:

QQ20160613-0

 

当然,如果我们不方便在服务器/Nginx 上操作,也可以在页面中加入 meta 头:

<meta http-equiv=”Content-Security-Policy” content=”upgrade-insecure-requests” />

目前支持这个设置的还只有 chrome 43.0,不过我相信,CSP 将成为未来 web 前端安全大力关注和使用的内容。而 upgrade-insecure-requests 草案也会很快进入 RFC 模式。

从 W3C 工作组给出的 example(http://www.w3.org/TR/upgrade-insecure-requests/#examples),可以看出,这个设置不会对外域的 a 链接做处理,所以可以放心使用。

阿里云OSS(云储存)使用教程

场景

把服务器的全部图片上传至OSS空间,图片16G,服务器是linux.

准备工作

首先需要拥有一个云储存空间,这个我已经有了,申请和配置OSS的步骤此处省略

QQ20160613-1

 

上传图片

这里我们需要用到一个基于python的上传工具:osscmd

工具地址:https://help.aliyun.com/document_detail/32184.html

下载并解压工具,我的服务器是linux,下载和解压命令此处省略。

解压后,我们需要来初始化AccessKey,在下图位置可获取到AccessKey信息

QQ20160613-2

 

osscmd的用法可以详细看一下阿里云的文档。

执行以下命令来初始化OSS空间的配置信息:

QQ20160613-0@2x

 

执行以下命令开始上传,我们把上传命令和nohup相结合,这样就可以在后台自动上传了

uploadfromdir 命令的详细用法可以看文档:https://help.aliyun.com/document_detail/32187.html?spm=5176.doc32185.6.504.ZfUdL9

执行后,就可以在后台自动上传了,如果想查看文件上传进度,可以使用tail命令实时查看

1

剩下唯一需要做的一件事就是—等。。。

 

 

如果本教程对你有帮助,请点个赞~!