【2020 最新】菜鳥新手從零 Nginx 配置域名、域名解析、SSL 證書、HTTPS【Nginx、SSL、HTTPS、Apache、Tomcat、IIS】

若是你還不會在你的服務器上安裝 LNMP 環境及 Laravel 又找不到方法時,我對此流程作了很是詳細的教程,點它學習👉【2020 年最新】新手從零配置 服務器的 LNMP 及 Laravel 環境 超純淨無報錯 (Linux、Nginx、MySQL、PHP、Laravel)php

材料準備:html

  • 服務器(我用的是 aliyun Ecs 用哪一個平臺的均可以)
  • 服務器是 Linux 系統(我用的 Ubuntu 18.04
  • 已經申請域名(不備案的話好像不能用你也能夠試試,備案挺簡單的直接去你購買的平臺他們都有步驟主要是審覈時間長 20 天左右)
  • 命令行(Windows、Mac 自帶的便可)
  • SSL 證書(沒有的話也不擔憂,下面會教你如何申請一個免費的)
  • FileZilla FTP 工具(沒有的話下面會教下載)

老規矩,起鍋燒油nginx

看完本章你能夠學會:爲何要配置 Https、如何配置網站域名、如何在你購買的雲平臺配置域名解析、申請 SSL 證書、實現 Https 訪問web

爲何要配置 https ?

防流量劫持:HTTPS 會創建起一個防劫持的通信加密隧道,解決中間人流量劫持的問題,不只能夠杜絕網頁中顯示的小廣告,更能夠保護用戶隱私安全。

提高搜索排名:百度、谷歌官方都已作出聲明會優先收錄採用 HTTPS 的網站,採用 HTTPS 能夠提高被搜索排名,提升站點可信度、品牌形象

杜絕釣魚網站:HTTPS 地址欄綠色圖標能夠幫助用戶識別出釣魚網站,保障用戶和企業的利益不受損害,加強用戶信任。
複製代碼

正文 👇

1. 在 Tencent Cloud 申請免費的 SSL 證書

進入 Tencent 官方網站的控制檯安全

右上角登陸 => 登陸後點擊右上角控制檯 => 進入控制檯頁面bash

雲產品中找到 SSL 證書服務器

二話不說,點它!!!session

三話不說,申請它!!!php7

四話不說,肯定它!!!socket

信息會填吧,不會填請手動刪除你的服務器➕公司辭職

接下來傻瓜無腦下一步弄完後等待申請下來就行了

申請好後 👇

下載到電腦上,切上蔥花,留着備用

2. 配置 aliyun 端口打開 22 端口支持 FileZilla 鏈接

咱們這裏配置端口讓 FileZilla 鏈接主要是用來將證書 copy 到服務器一份,以爲配置端口再下載 FileZilla 麻煩的能夠去網上搜直接經過命令行將文件拷貝到 Linux 主機的方式

打開安全組配置

能夠看到我對已經對 22 端口進行過設置了

沒有配置的話:右上角 => 添加安全組規則

這裏也有一個教鏈接 FileZilla 的教程也能夠看看

3. 使用 FileZilla 鏈接服務器

點此官網走起,直接找到 Quick download links 的兩個大按鈕,點擊 Download FileZilla Client 就行,下載你對應系統的版本,而後無腦安裝並打開

Mac 右上角文件 => 站點管理 => 新建站點 => 填入 ip、端口 2二、用戶名、密碼 => 鏈接

直到鏈接完成

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.surko.xyz;
	#證書文件名稱
	ssl_certificate 1_www.surko.xyz_bundle.crt;
	#私鑰文件名稱
     	ssl_certificate_key 2_www.surko.xyz.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!

相關文章
相關標籤/搜索