分类
技术分享

一键LNMP配置SSL证书,全站httpss访问

相信很多人搭建网站都用了一键LNMP,方便又快捷,不过网站搭建后还有一个重要的步骤就是加入SSL证书,让httpss方式访问网站,那怎么来弄呢?首先找到nginx的安装目录找到目录,我的目录: /usr/local/nginx/,如下图,使用Xftp工具登陆的,这个工具方便。

关于SSL证书,其实在各大网站都可以免费申请,大部分是免费一年,我是在阿里申请的,申请后把对应的证书下载过来就行了(nginx、apache、IIS、tomcat环境都支持),我选择nginx证书下载。然后在nginx目录下创建文件夹,比如我创建了cert然后把证书上传到此文件夹内。

证书上传后如下图

接下来就是编辑nginx配置文件,到目录/usr/local/nginx/conf下找到nginx.conf用记事本打开编辑。其实你也可以直接在Xshell或者PuTTY直接vi编辑修改。

打开后找到server处

我们需要编辑的地方主要是加入这几点:

listen 443 ssl;

ssl on;

ssl_certificate /你上传的证书目录和证书名称.crt;

ssl_certificate_key /你上传的证书目录和证书名称.key;

具体如下图

修改完保存,然后重启nginx,因为是linux系统可以用Xshell或者PuTTY等连接后输入指令/etc/init.d/nginx restart重启nginx。(每次修改配置保存后一般需要重启才能生效)

然后输入网址,httpss正常访问

不过要https访问的话会400报错

400 Bad Request

The plain HTTP request was sent to HTTPS port

解决办法将上面配置文中的“ ssl on ; ” 注释掉或者修改成 “ ssl off ;”,这样,nginx就可以同时处理HTTP请求和HTTPS请求了。

然后网站可以HTTP和HTTPS同时访问。不过,我们不想还有https能访问,要全站httpss访问呢?

其实这个也不难,我们只要修改两条就解决了,首先就是在server_name _;中加入域名带www和不带的,最后再加一句定向语句:

if ($scheme = https ) {return 301 httpss://$host$request_uri;}

修改的范围入下图两个个框中,其他不用修改

这样网站就开启了全站httpss访问。

 

分类
技术分享

在亚马逊EC2上创建root用户登录

由于亚马逊有个别的linux是默认普通用户,有些时候不太方便,如果创建root用户会方便点

创建root的密码,输入如下命令:

sudo passwd root
输入一个你要设置的root的密码两次

切换到root身份,输入如下命令:

su root

输入:vim /etc/ssh/sshd_config

找到 PasswordAuthentication no,把no改成yes

保存并退出

重新启动下sshd,如下命令: /sbin/service sshd restart

为原来的普通用户”ec2-user”添加登录密码

passwd ec2-user

现在就可以用用root身份直接登录亚马孙EC2了。

分类
技术分享

亚马逊云服务器AWS EC2如何从普通用户切换为root用户

系统默认是普通用户登录的,安装软件的时候会发现报错:You need to be root to perform this command.说明你没有获得root权限。

通过命令 sudo -s 可以实现从普通用户转为root用户

通过 exit 可以从root用户退回到普通用户