ubuntu安装nginx和设置网站https访问
安装nginx
在控制台 输入
sudo apt-get install nginx
等待安装成功之后。可以打开浏览器。输入你的域名或者ip地址会出现"Welcome to nginx!"页面。表示安装成功。
申请SSL证书
SSL简介
SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。
现在因为非https网站会被谷歌等一些浏览器报红。提示此网站不安全。所有我们有必要给我们的域名申请一个ssl证书。
ssl证书现在分为3种:
- 名型SSL证书(DV SSL) ,即只对域名的所有者(一般是域名管理员邮箱,比如admin@hotmail.com)进行在线检查,具体是发送验证邮件给域名管理员或以该域名结尾的邮箱至于该域名的管理员是真实注册的单位还是另有其人,就不得而知了。
- 企业型 SSL 证书(OV SSL) ,是要购买者提交组织机构资料和单位授权信等在官方注册的凭证,认证机构在签发SSL证书前不仅仅要检验域名所有权,还必须对这些资料的真实合法性进行多方查验,只有通过验证的才能颁发SSL证书。
- 增强型 SSL 证书(EV SSL) ,与其他SSL证书一样,都是基于SSL/TLS安全协议,都是用于网站的身份验证和信息在网上的传输加密。它跟普通SSL证书的区别也是明显的,安全浏览器的地址栏变绿,如果是不受信的SSL证书则拒绝显示,如果是钓鱼网站,地址栏则会变成红色,以警示用户。
安装 Certbot
Certbot简介可以访问其官网查看。
Certbot官网https://certbot.eff.org/#ubuntuxenial-nginx 选择自己对于的系统版本。就会生成对于的安装命令。
下面以ubuntu 16.04为例。
$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install python-certbot-nginx
获取SSL
$ sudo certbot --authenticator webroot --installer nginx
输入以上命令。如果出现下图表示SSL获取成功。可以复制证书路径。后面有用。
自动更新
我们单次申请的免费证书有效时间是90天。所有我们要设置免费续费。这样就可以一直免费试用下去了。
$ sudo certbot renew --dry-run
nginx配置
我们已经通过certbot获取ssl证书。现在就开始来为我们的网站配置https访问。
编辑nginx配置文件。
vi /etc/nginx/sites-available/default
新增一个ssl serevr,配置如下
server {
listen 443;
server_name cn4.retailstore365.com;
root html;
index index.html index.htm;
ssl on;
ssl_certificate /etc/letsencrypt/live/xxxxx/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/xxxxx/privkey.pem;
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
ssl_prefer_server_ciphers on;
location / {
try_files $uri $uri/ =404;
} }
xxxxx请替换成自己的域名。或者直接复制刚刚申请ssl成功之后的证书地址。
然后重启nginx
sudo service nginx reload
然后再次访问你的你的域名或者ip地址:https://xxxxxxx.com/会看到前面的地址变成绿色了。表示ssl部署成功。
nginx常用命令
启动:sudo nginx
重启:sudo service nginx reload
关闭:sudo nginx -s stop
查看版本:sudo nginx -v
检查配置文件:sudo nginx -t
ubuntu安装nginx和设置网站https访问的更多相关文章
- docker安装nginx并配置通过https访问
1. 下载最新的nginx的docker image docker pull nginx:latest 创建挂载路径 2.准备nginx需要的文件 nginx的配置文件 首先是nginx.conf文件 ...
- Windows下Nginx配置SSL实现Https访问(包含证书生成)
Vincent.李 Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https ...
- ubuntu 下 Nginx相关设置
ubuntu安装Nginx之后的文件结构大致为: 所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经安排在了/etc/nginx/sites-available下 启动程序文件在/usr/ ...
- ubuntu安装nginx踩坑
ubuntu安装nginx 安装nginx tar -zxvf nginx-1.15.5.tar.gz -C /usr/local/src 解压 cd /usr/local/src/nginx-1.1 ...
- ubuntu安装nginx时提示error: the HTTP rewrite module requires the PCRE library
ubuntu安装nginx时提示error: the HTTP rewrite module requires the PCRE library 须要安装pcre包. sudo apt-get upd ...
- VMware虚拟机中的CentOS7安装Nginx后本机无法访问的解决办法
VMware虚拟机中的CentOS7安装Nginx后本机无法访问的解决办法 在linux上安装nginx 请参考:Linux Centos7 安装 nginx 在虚拟机centos7上安装nginx之 ...
- 阿里云服务器ECS上ubuntu安装nginx后默认站点页面打开错误,显示无法访问此网站
问题:在新买的阿里云服务器ECS上安装nginx后打开默认页面失败,如下图所示. 系统环境:Ubuntu 16.04.4 LTS64版本. 步骤回顾: root用户下运行命令 apt-get inst ...
- Linux安装nginx并设置https(openssl
一.安装依赖包 1.$sudo apt-get install openssl 或者$sudo apt-get install libssl-dev 2.$sudo apt-get instal ...
- Ubuntu 安装 Nginx 实现反向代理
安装Nginx依赖库(ubuntu平台) 最近域名通过了备案, 想着应用总不能带着端口号访问吧, 于是在网上踩了很多坑, 终于找到了一步直达的方法,起码这一次很顺利的实现了 安装gcc g++的依赖库 ...
随机推荐
- [转] Freemarker的常用技巧总结
1,截取字符串 有的时候我们在页面中不需要显示那么长的字符串,比如新闻标题,这样用下面的例子就可以自定义显示的长度 < lt. <= lte. > gt. >= gte < ...
- Python Django连接(听明白了是连接不是创建!)Mysql已存在的数据库
再声明一次!是连接不是创建!网上的一些人难道连接和创建这俩词都弄不懂就在那里瞎写一些文章! (Python Django连接存在的数据库) Python连接存在的数据库-------MySql 1.首 ...
- 计算机改名引发的ORA
近期上班时,由于开机时老是提示" 局域网出现计算机重名冲突",于是把计算机名字给改了,从PC2010081312zeo改为了CXBIKKKKKKK,结果第二天来的时候,用PL/SQ ...
- css 对图片颜色的处理
很久很久以前,在一个项目中,经理要求对一个图片做模糊处理.第一反应是这个要找 ui 给个模糊图片.可当时 ui 不在呀,项目又着急,只能自己搞.我一个前端,ps 技术实在不咋的,叫我切切图还可以,叫我 ...
- android activity传递实体类对象
通过实现Parcelable接口序列化对象的步骤: 1.实现Parcelable接口.2.并且实现Parcelable接口的public void writeToParcel(Parcel dest, ...
- js控制滚动条滑动
window.scrollTo(0,document.body.scrollHeight);或者通过设置Location的hash属性参见:http://www.cnblogs.com/oospace ...
- js点击图片查看大图,并可以拖动,且滚动滑轮放大缩小
方法一:此方法在页面没有滚动条时无法缩放 JQuery function hideMax(){ $(".MAX_div").remove(); $("#Cover_Div ...
- html的标签
<a>:anchor 定义锚 <abbr>:abbreviation 定义缩写 <acronym>: 定义只取消首字母的缩写 <address>:定义地 ...
- Python self学习
最开始学习Python时,用的IDE是IDEL,看的教程是<简明Python教程>,强烈推荐一下,讲得还是很不错的,适合新手学习 http://www.kuqin.com/abyteofp ...
- mkdir -p 参数的使用
ssh root@%s -o ConnectTimeout=2 "ssh root@%s ConnectTimeout=2 "if [ ! -d /root/scripts ]; ...