Nginx单向认证的安装配置方法

首先系统要已经安装了openssl,以下是使用openssl安装配置单向认证的执行步骤与脚本:

代码如下:

#--------------------------------------------------------
# 单向认证,就是传输的数据加密过了,但是不会校验客户端的来源
# 单项SSL连接,也就是只是客户端验证服务器证书
#--------------------------------------------------------

#创建存储路径
rm -rf /usr/local/nginx/ca.1way
mkdir -p /usr/local/nginx/ca.1way/
cd /usr/local/nginx/ca.1way/

#建立服务器私钥(过程需要输入密码,请记住这个密码) 生成RSA密钥
/usr/local/openssl/bin/openssl genrsa -des3 -out server.key 2048

#------------------------------------------------------------------
Enter pass phrase for server.key: zhoulf123
Verifying - Enter pass phrase for server.key: zhoulf123
#------------------------------------------------------------------

#生成一个证书请求
/usr/local/openssl/bin/openssl req -new -key server.key -out server.csr

#---------------------------------------------------------------------------------------------------------------
Enter pass phrase for server.key: zhoulf123
Country Name (2 letter code) [XX]: CN                                           #国家
State or Province Name (full name) []: BEIJING                                  #区域或是省份
Locality Name (eg, city) [Default City]: BEIJING                                #地区局部名字
Organization Name (eg, company) [Default Company Ltd]: Navinfo Co.,Ltd          #机构名称:填写公司名
Organizational Unit Name (eg, section) []: GIS                                  #组织单位名称:部门名称
Common Name (eg, your name or your server's hostname) []: vw.test.zhoulf.com    #网站域名
Email Address []: xxxxxx@163.com                                                #邮箱地址
A challenge password []:                                                        #输入一个密码
An optional company name []:                                                    #一个可选的公司名称
#---------------------------------------------------------------------------------------------------------------

#输入完这些内容,就会在当前目录生成server.csr文件
cp server.key server.key.org

#对于使用上面的私钥启动具有SSL功能的NGINX
/usr/local/openssl/bin/openssl rsa -in server.key.org -out server.key

#---------------------------------
Enter pass phrase for server.key.org: zhoulf123
#---------------------------------

#使用上面的密钥和CSR对证书进行签名
/usr/local/openssl/bin/openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

修改nginx.conf文件,添加https配置内容:

代码如下:

#--------------------------------------------------------
# HTTPS server
server {
 listen 443;
 server_name localhost;

ssl on;
 ssl_certificate      /usr/local/nginx/ssl.ca.1way/server.crt;
 ssl_certificate_key  /usr/local/nginx/ssl.ca.1way/server.key;

ssl_session_timeout 5m;
 ssl_protocols SSLv2 SSLv3 TLSv1;
 ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
 ssl_prefer_server_ciphers on;

location / {
  root /var/www/html;
  index index.html index.htm;
 }
}
#--------------------------------------------------------

#配置好后,重启nginx,采用 https打开网站,浏览器会提示证书错误,点击继续浏览即可

(0)

相关推荐

  • nginx,apache的alias和认证功能

    从年前电脑换成linux系统后就没写东西,最近有点懒,在这里讲述下nginx alias 功能,不是server alias . 首先看下看下apache 别名 怎么配置的: 复制代码 代码如下: <VirtualHost *:80> DocumentRoot /www/jb51.net/www 这是虚拟主机的根目录吧,但是phpMYadmin 不在这个目录下,想访问. ServerName www.jb51.net ServerAlias jb51.net Alias /sdb "

  • Nginx中配置用户服务器访问认证的方法示例

    Nginx超级强大它可以单独为一个域名设置用户认证,方法也很简单我们只要生成用户认证的用户名和密码,然后再Nginx添加auth认证配置即可. Nginx可以为某一个域名单独加用户认证,具体做法如下: 1. 生成用户认证的用户名和密码: #wget -c soft.vpser.net/lnmp/ext/htpasswd.sh;bash htpasswd.sh 根据提示输入: 用户名: 密码: 文件名: 脚本会自动生成认证文件,auth.conf内容如下: /usr/local/nginx/con

  • Nginx上配置Basic Authorization登录认服务证的教程

    关于Basic Authorization 在HTTP中,Basic Authorization基本认证是一种用来允许Web浏览器或其他客户端程序在请求时提供用户名和口令形式的身份凭证的一种登录验证方式. 在发送之前是以用户名追加一个冒号然后串接上口令,并将得出的结果字符串再用Base64算法编码.例如,提供的用户名是Aladdin.口令是open sesame,则拼接后的结果就是Aladdin:open sesame,然后再将其用Base64编码,得到QWxhZGRpbjpvcGVuIHNlc

  • Nginx用户认证配置方法详解(域名/目录)

    Nginx可以为某一个域名单独加用户认证,具体做法如下: 1. 生成用户认证的用户名和密码: 复制代码 代码如下: #wget -c soft.vpser.net/lnmp/ext/htpasswd.sh;bash htpasswd.sh 根据提示输入: 用户名:密码:文件名: 脚本会自动生成认证文件,auth.conf内容如下: 复制代码 代码如下: /usr/local/nginx/conf/auth.conf 2. 为Nginx添加auth认证配置 下面以某域名下面的auth目录为例,在域

  • 使用Lua编写Nginx服务器的认证模块的方法

    过去两天里,我解决了一个非常有趣的问题.我用一个nginx服务器作为代理,需要能够向其中添加一个认证层,使其能够使用外部的认证源(比如某个web应用)来进行验证,如果用户在外部认证源有账号,就可以在代理里认证通过. 需求一览 我考虑了几种解决方案,罗列如下: 用一个简单的Python/Flask模块来做代理和验证. 一个使用subrequests做验证的nginx模块(nginx目前可以做到这一点) 使用Lua编写一个nginxren认证模块 很显然,给整个系统添加额外请求将执行的不是很好,因为

  • Nginx中的用户认证配置及阻止用户使用代理访问的方法

    nginx用户认证配置( Basic HTTP authentication) ngx_http_auth_basic_module模块实现让访问着,只有输入正确的用户密码才允许访问web内容.web上的一些内容不想被其他人知道,但是又想让部分人看到.nginx的http auth模块以及Apache http auth都是很好的解决方案. 默认情况下nginx已经安装了ngx_http_auth_basic_module模块,如果不需要这个模块,可以加上 --without-http_auth

  • Nginx服务器中为网站或目录添加认证密码的配置详解

    nginx可以为网站或目录甚至特定的文件设置密码认证.密码必须是crypt加密的.可以用apache的htpasswd来创建密码. 格式为: htpasswd -b -c site_pass username password site_pass为密码文件.放在同nginx配置文件同一目录下,当然你也可以放在其它目录下,那在nginx的配置文件中就要写明绝对地址或相对当前目录的地址. 如果你输入htpasswd命令提示没有找到命令时,你需要安装httpd.如果是centos可以执行如下来安装,

  • Nginx单向认证的安装配置方法

    首先系统要已经安装了openssl,以下是使用openssl安装配置单向认证的执行步骤与脚本: 复制代码 代码如下: #-------------------------------------------------------- # 单向认证,就是传输的数据加密过了,但是不会校验客户端的来源 # 单项SSL连接,也就是只是客户端验证服务器证书 #-------------------------------------------------------- #创建存储路径 rm -rf /u

  • Nginx简要安装配置方法图文教程

    直入主题: 1.nginx安装所需文件 1).nginx-1.2.8.tar.gz 2).openssl-1.0.1g.tar.gz 3).pcre-8.31.tar.gz 4).zlib-1.2.7.tar.gz 上述安装包的下载地址正常可用,由于本人用的是上述版本的安装包,所以下述安装均以此作为基础. 2.Linux机器的配置环境 2.1.java环境 $java -version java version "1.8.0_45" Java(TM) SE Runtime Enviro

  • mysql8.0.11安装配置方法图文教程 MySQL8.0新密码认证方式

    本文为大家分享了mysql8.0.11安装配置方法图文教程.MySQL8.0新密码认证方式,供大家参考,具体内容如下 1.前言   Oracle已经发布了MySQL8.0GA,GA在外国就是release版本,也就是正式版,不是测试版.   安装MySQL总是看到除了数据库服务外,还安装了一大堆基本没不会用到的服务,所以这里把MySQL的安装过程过一遍.体验安装MySQL8.0的时候,发现我的navicat连不上MySQL8.0了,经查找原来MySQL8.0提供了两种密码加密的方式,我安装的时候

  • 结合 Nginx 将 DoNetCore 部署到 阿里云的安装配置方法

    基础环境配置 域名和服务器请先自行购买 基于 云服务器ECS 创建一个应用实例,选择系统镜像为 Ubuntu 16.04,在本机通过 SSH 进行远程连接,并进行相关配置 ssh root@http://39.108.48.203/ ... sudo apt-get update sudp apt-get upgrade sudo apt-get autoremove sudo apt-get clean 安装并配置 Nginx sudo apt-get install nginx sudo s

  • mysql 5.7.17 安装配置方法图文教程(windows10)

    mysql 5.7.17 安装配置方法整理 第一步 到MySQL官网下载mysql-5.7.17-winx64.zip 第二步 解压缩 mysql-5.7.17-winx64.zip 第三步 新建一个my.ini文件,然后用记事本打开输入mysql的基本配置: [mysql] ; 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] ;设置3306端口 port = 3306 ; 设置mysql的安装目录 basedir=E:\mysql5.7

  • CentOS7下 Apache的安装配置方法

    前些天安装了Nginx,为了好玩我就又安装Apache,Apache的安装还算顺利.在此做一下学习记录和经验分享. 一.安装httpd 1.先查看一下系统有没有已经安装了httpd的,如果啥都没查到,那就是没安装呗.如果有#rpm -e 查到的rpm报名,进行删除即可. #rpm -qa | grep httpd 2.我这里就直接使用yum安装了(会自动安装依赖包),为了简单方便. yum -y install httpd 3.httpd -v 查看安装版本,安装成功之后,查找配置文件位置,对h

  • mysql 8.0.12 安装配置方法图文教程

    记录了mysql 8.0.12 的安装配置方法,分享给大家. 一.安装 1.从网上下载MySQL8.0.12版本,下载地址 2. 下载完成后解压 我解压的路径是:D:\Java\mysql-8.0.12-winx64 3. 配置文件 首先在解压的路径下查看是否含有my.ini的文件,如果没有则新建一个,内容如下: [mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=D:\Java\mysql-8.0.12-winx64 # 设置mysql数据

  • window下mysql 8.0.15 winx64安装配置方法图文教程

    本文为大家分享了mysql 8.0.15 winx64安装配置方法,供大家参考,具体内容如下 1.去官网下载最新版本的适用于window下的64位操作系统的mysql-8.0.15版本 下载地址 下载完成后将其解压到自定义目录下,我所有的工具都保存在D:\Project,解压完成后会看见以下目录: D:\Project\mysql-8.0.15-winx64 2 配置环境变量(配置环境变量的目的是在cmd终端命令下不用进入到相应的文件夹目录下直接就可以调用运行) 随后,配置环境变量(我的电脑点右

  • Windows10下mysql 8.0.16 安装配置方法图文教程

    本文为大家分享了mysql 8.0.16 安装配置方法图文教程,供大家参考,具体内容如下 1.安装包下载  2.安装教程 (1)配置环境变量 (2)生成data文件 (3)安装MySQL (4)启动服务 (5)登录MySQL (6)查询用户密码 (7)设置修改用户密码 (8)退出 1.安装包下载 Oracle官网下载地址,下载最新版本即可: 点击下载之后,可以选择注册Oracle账号,也可以跳过直接下载. 下载完成后,选择一个磁盘内放置并解压,如 (2)生成data文件 以管理员身份运行cmd

  • mysql 8.0.16 压缩包安装配置方法图文教程

    本文为大家分享了mysql 8.0.16 压缩包安装配置方法,供大家参考,具体内容如下 运行环境:Windows 10 x64 1.下载zip安装包: MySQL8.0 For Windows zip包下载地址:,进入页面后可以不用登录.后点击底部"No thanks, just start my download."即可开始下载. 2.安装 2.1 解压zip包到安装目录 我的解压在了 E:\SQL\MySQL\mysql-8.0.16-winx64 ps:解压后的文件目录,缺失da

随机推荐