如果你还不会在你的服务器上安装 LNMP 环境及 Laravel 又找不到方法时,我对此流程做了非常详细的教程,点它学习👉【2020 年最新】新手从零配置 服务器的 LNMP 及 Laravel 环境 超纯净无报错 (Linux、Nginx、MySQL、PHP、Laravel)
材料准备:
- 服务器(我用的是
aliyun Ecs
用哪个平台的都可以) - 服务器是
Linux
系统(我用的Ubuntu 18.04
) - 已经申请域名(不备案的话好像不能用你也可以试试,备案挺简单的直接去你购买的平台他们都有步骤主要是审核时间长
20
天左右) - 命令行(
Windows、Mac
自带的即可) SSL 证书
(没有的话也不担心,下面会教你如何申请一个免费的)FileZilla FTP 工具
(没有的话下面会教下载)
老规矩,起锅烧油
看完本章你可以学会:为什么要配置 Https、如何配置网站域名、如何在你购买的云平台配置域名解析、申请 SSL 证书
、实现 Https
访问
为什么要配置 https ?
防流量劫持:HTTPS 会建立起一个防劫持的通讯加密隧道,解决中间人流量劫持的问题,不仅可以杜绝网页中显示的小广告,更可以保护用户隐私安全。
提升搜索排名:百度、谷歌官方都已做出声明会优先收录采用 HTTPS 的网站,采用 HTTPS 可以提升被搜索排名,提高站点可信度、品牌形象
杜绝钓鱼网站:HTTPS 地址栏绿色图标可以帮助用户识别出钓鱼网站,保障用户和企业的利益不受损害,增强用户信任。
正文 👇
1. 在 Tencent Cloud
申请免费的 SSL 证书
右上角登录 => 登录后点击右上角控制台 => 进入控制台页面
云产品中找到 SSL 证书
二话不说,点它!!!
三话不说,申请它!!!
四话不说,确定它!!!
信息会填吧,不会填请手动删除你的服务器➕公司辞职
接下来傻瓜无脑下一步弄完后等待申请下来就好了
申请好后 👇
下载到电脑上,切上葱花,留着备用
2. 配置 aliyun 端口打开 22 端口支持 FileZilla
连接
我们这里配置端口让 FileZilla
连接主要是用来将证书 copy
到服务器一份,觉得配置端口再下载 FileZilla
麻烦的可以去网上搜直接通过命令行将文件拷贝到 Linux 主机的方式
打开安全组配置
可以看到我对已经对 22 端口进行过设置了
没有配置的话:右上角 => 添加安全组规则
3. 使用 FileZilla
连接服务器
点此官网走起,直接找到 Quick download links 的两个大按钮,点击 Download FileZilla Client 就行,下载你对应系统的版本,然后无脑安装并打开
Mac 右上角文件 => 站点管理 => 新建站点 => 注意协议选 SFTP 图上的没改、填入 ip、端口 22、用户名、密码然后 => 连接 => 提示你主机密钥不匹配直接确定即可
直到连接完成
4. 将 SSL 证书
拷贝到服务器
你从 Tencent Cloud 下载的 SSL 证书包中会包含如下文件:
Apache、IIS、Nginx、Tomcat、www.xxx.xxx.csr
这里因为我们是 Nginx 环境,所以当然是用 Nginx 咯
我们安装的 Nginx
一般都是在服务器的 /etc/nginx/
目录中特别是根据本教程最顶部的我另外一篇博客描述 LNMP
的安装做的同学,如果你的不是,请找到你的 Nginx
安装目录
接下来我们要将下载来的 SSL 证书
的 Nginx
文件夹下的两个文件 1_www.xxx.xxx_bundle.crt
2_www.xxx.xxx.key
都通过 FileZilla
拷贝到服务器的 /etc/nginx
目录下,下面是步骤,先打开 FileZilla
并连接上你的服务器 👇
至此,我们就通过上图的步骤将 SSL 证书
放到服务器的指定位置了
5. 配置 SSL 证书使其正常使用
在 FileZilla 中进入此目录 👉 /etc/nginx/sites-available
会看到有一个文件叫 default
我们将要编辑它(还是再声明一下,如果你在这个目录找不到 default
文件,那么如果你不是按照该教程顶部推荐的我的另一篇安装 LNMP
的教程安装的配置的话那你就要找你 Nginx
的对应目录对应的配置文件了)
如果你是 Apache、IIS、Tomcat 之类的点此链接
我们打开它并编辑它(下面有完整文件内容展示),增加 👇
#SSL 访问端口号为 443
listen 443;
ssl on;
#填写绑定证书的域名
server_name www.xxx.xxx;
#证书、私钥文件就是你拷贝到 /etc/nginx 目录下的那两个文件
#证书文件名称
ssl_certificate 1_www.xxx.xxx_bundle.crt;
#私钥文件名称
ssl_certificate_key 2_www.xxx.xxx.key;
ssl_session_timeout 5m;
#请按照以下协议配置
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
#注意:由于版本问题,配置文件可能存在不同的写法。例如:Nginx 版本为 nginx/1.15.0 以上请使用一行 listen 443 ssl 代替上面的 listen 443 和 ssl on。
#可以通过 nginx -v 查看你的版本
ok,保存并关闭,FileZilla
会提示是否回传到服务器,确定,这样就配置完成了
// 命令行重启 nginx
service nginx restart
// 命令行运行测试来测试配置是否正确
nginx -t
// 输出了
// nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
// nginx: configuration file /etc/nginx/nginx.conf test is successful
// 各种 ok、successful 表示配置成功
给大家看一下我的整个 default
文件的配置,当然你可以去我最顶部推荐的另一片博客中看我配置前是什么样的
server {
listen 80 default_server;
listen [::]:80 default_server;
#SSL 访问端口号为 443
listen 443;
ssl on;
#填写绑定证书的域名
server_name www.xxxx.com;
#证书文件名称
ssl_certificate 1_www.xxxx.com_bundle.crt;
#私钥文件名称
ssl_certificate_key 2_www.xxxx.com.key;
ssl_session_timeout 5m;
#请按照以下协议配置
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
#location / {
# #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
# root /var/www/Laravel60/public;
# index index.php index.html index.htm;
#}
# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;
root /var/www/Laravel60/public;
# Add index.php to the list if you are using PHP
index index.php index.html index.htm index.nginx-debian.html;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
# try_files $uri $uri/ =404;
try_files $uri $uri/ /index.php?$query_string;
}
# pass PHP scripts to FastCGI server
#
location ~ \.php$ {
include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
}
# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
#server {
# listen 80;
# listen [::]:80;
#
# server_name example.com;
#
# root /var/www/example.com;
# index index.html;
#
# location / {
# try_files $uri $uri/ =404;
# }
#}
6. 配置域名解析
为什么要配置域名解析,通俗讲就是把你的域名和你的 IP
地址进行绑定,绑定了之后域名就知道该进哪个 IP
的服务器了
首先,进入你的云控制台(我这里用的是 aliyun)
aliyun 控制台 => 域名 => 域名解析 => 添加配置配置相应内容
点击确定,就配置好了
7. 大功告成
接下来你就可以通过 Https
来访问你的网站了,有问题的同学请在下方留言评论,有缘看到会回复
是菜鸟?没关系。想要从零学会如何在你的服务器上配置 LNMP 环境及 Laravel,我对此流程做了非常详细的教程,点它学习👉【2020 年最新】新手从零配置 服务器的 LNMP 及 Laravel 环境 超纯净无报错 (Linux、Nginx、MySQL、PHP、Laravel)
写作不易,不多说了,手指头还在的就点赞吧!
It’s not easy to write. If the finger is still on your hand, Please tap the like button on the website.
Thank you!
今天的文章【2020 最新】菜鸟新手从零 Nginx 配置域名、域名解析、SSL 证书、HTTPS【Nginx、SSL、HTTPS、Apache、Tomcat、IIS】分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/16256.html