1.环境准备:centos6.9主机一台,关闭防火墙和selinux
安装依赖包:yum -y install openssl-devel pcre-devel gcc
创建nginx用户:
useradd -m -s /sbin/nologin nginx #不为nginx用户创建家目录,没有可交互的shell tar -xf nginx-1.8.0.tar.gz cd nginx-1.8.0 ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module (--with-http_ssl_module指定安装安全模块,部署https网站时必须要安装,/usr/local/nginx目录不需要事先创建) make && make install cd /usr/local/nginx ls /usr/local/nginx
conf #存放nginx配置文件 logs #存放服务日志和pid文件 html #存放网站页面的 sbin #可执行主程序目录
2.将启动程序做链接放到/usr/sbin/路径下:
ln -s /usr/local/nginx/sbin/nginx /usr/sbin/
nginx命令:
nginx # 启动服务 nginx -s stop #关闭服务 nginx -s reload #重新加载配置文件 nginx -t #测试配置文件 nginx -v #查看版本信息 nginx -v #查看编译选项
启动服务:nginx
通过ip测试网站是否可以正常访问,出现如下页面说明网站配置成功(此时只有一个默认http网页):
3.使用openssl生成证书,配置https网站:
cd /usr/local/nginx/conf openssl genrsa -out my.key #生成rsa算法的私钥
openssl req -new -x509 -key my.key -out my.crt #生成子签名证书,相当于公钥
修改nginx配置文件,指定证书所在的位置:
vim /usr/local/nginx/conf/nginx.conf ... ... server { listen 443 ssl; server_name www.test.com; ssl_certificate my.crt; #指定证书位置,默认在当前目录寻找 ssl_certificate_key my.key; #指定私钥位置 location / { root /var/www/html; #指定网页文件根路径,与http网站路径分开,便于区分 index index.html; } }
修改完成后重加加载配置文件:nginx -s reload
mkdir -p /var/www/html echo "ssl test" >/var/www/html/index.html
4.进行访问验证:
http访问效果如下:
https访问效果如下:
5.配置http地址重写,使客户端访问http时自动跳转到https:
vim /usr/local/nginx/conf/nginx.conf ... ... server { listen 80; server_name www.test.com; rewrite ^(.*)$ https://${server_name}$1 permanent; #接收到http访问请求时,重定向到https location / { root html; index index.html index.htm; }
修改完成,重新加载配置文件:
nginx -s reload
6.再次访问进行验证:
通过http协议访问网页时,会自动跳转到https:
如果域名未做解析,请添加hosts记录,将域名和ip对应关系写到hosts文件中。
以上是Nginx部署https網站並設定位址重寫的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Nginx是一个高性能的Web服务器软件,同时也是一款强大的反向代理服务器和负载均衡器。随着互联网的迅速发展,越来越多的网站开始采用SSL协议保护敏感用户数据,而Nginx也提供了强大的SSL支持,使得Web服务器的安全性能更进一步。本文将介绍如何配置Nginx以支持SSL协议,并保护Web服务器的安全性能。什么是SSL协议?SSL(SecureSocke

在当今互联网时代,安全通信已经成为了不可或缺的一部分。尤其是在HTTPS通信中,如何保障其安全性尤为重要。而Nginx作为流行的Web服务器和反向代理服务器,其防火墙也可以在保障HTTPS安全通信中发挥重要作用。本文将就Nginx防火墙从以下几个方面进行讨论。TLS/SSL加密HTTPS通信的安全保障主要是基于TLS/SSL加密技术,其能够防止数据在传输过程

单向验证与双向验证的区别:单向验证:指客户端验证服务器端证书,服务器并不需要验证客户端证书。双向验证:指客户端验证服务器端证书,而服务器也需要通过ca的公钥证书来验证客户端证书。详细的握手过程:单向验证浏览器发送一个连接请求给安全服务器。1、服务器将自己的证书,以及同证书相关的信息发送给客户浏览器。2、客户浏览器检查服务器送过来的证书是否是由自己信赖的ca中心所签发的。如果是,就继续执行协议;如果不是,客户浏览器就给客户一个警告消息:警告客户这个证书不是可以信赖的询问客户是否需要继续。3、接着客

下载证书在证书控制台下载nginx版本证书。下载到本地的压缩文件包解压后包含:.pem文件:证书文件.key文件:证书的私钥文件(申请证书时如果没有选择自动创建csr,则没有该文件)配置nginx1、在nginx的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中,如果申请证书时是自己创建的csr文件,请将对应的私钥文件放到cert目录下。2、打开nginx安装目录下conf目录中的nginx.conf文件#usernobody;worker_processes1;#error

随着科技的发展,网络通信已经成为了现代社会信息传输的重要工具之一。但同时,网络上的信息传输面临着被恶意攻击和窃取的风险,因此安全性显得尤为重要。基于此,HTTPS协议就应运而生。它是在HTTP协议上加入SSL/TLS加密的方式来保证网络传输安全性的一种协议。Java作为一门广泛应用于网络开发的语言,自然也提供了丰富的API来支持HTTPS协议。本文将

Golang是一种高效的编程语言,经常被用于创建网络应用程序。在网络应用程序中,经常需要对URL地址进行验证,以确保它们符合我们的目标。在这篇文章中,我们将会介绍如何在Golang中使用正则表达式来验证URL地址是否为HTTPS协议。首先,我们需要了解HTTPS协议的URL格式。HTTPS协议的URL从HTTP协议URL中继承了一部分,但是它有一些独特的特征

效果可以看如下:但是如果我们现在使用http来访问的话,访问不了。如下图所示:因此我现在首先要做的是使用nginx配置下,当用户在浏览器下输入http请求的时候使用nginx重定向到https下即可。因此我们现在需要做一个简单的nginx重定向功能。因此在我们的nginx中需要加如下重定向配置:server{listenxxx.abc.com;server_namexxx.abc.com;rewrite^/(.*)$https://$host$1permanent;}因此nginx主要的配置代码

Nginx是一个强大的重定向工具,可以轻松配置在您的系统上重定向不安全或未加密的HTTP网络流量到加密和安全的HTTPS网络服务器。Nginx,发音为“Enginex”,是一个免费、开源、基于Linux的高性能Web和反向代理服务器,负责管理和处理互联网上最大的网站流量的负载。Nginx是一个强大的重定向工具,可以轻松配置在您的系统上重定向不安全或未加密的HTTP网络流量到加密和安全的HTTPS网络服务器。如果你是一个系统管理员或开发人员,那么你应该经常使用Nginx服务器。在这篇文章中,我们将


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

禪工作室 13.0.1
強大的PHP整合開發環境

SublimeText3漢化版
中文版,非常好用

SublimeText3 Linux新版
SublimeText3 Linux最新版

記事本++7.3.1
好用且免費的程式碼編輯器

Dreamweaver CS6
視覺化網頁開發工具