`
tinyhema
  • 浏览: 154328 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

nginx配置自签名https证书+basic auth验证

 
阅读更多
1. 生成自签名https证书
参考

1.1 生成证书的脚本
# vi gencert.sh
#!/bin/sh

# create self-signed server certificate:

read -p "Enter your domain [www.example.com]: " DOMAIN

echo "Create server key..."

#openssl genrsa -des3 -out $DOMAIN.key 1024
openssl genrsa -des3 -out $DOMAIN.key 2048

echo "Create server certificate signing request..."

SUBJECT="/C=US/ST=Mars/L=iTranswarp/O=iTranswarp/OU=iTranswarp/CN=$DOMAIN"

openssl req -new -subj $SUBJECT -key $DOMAIN.key -out $DOMAIN.csr

echo "Remove password..."

mv $DOMAIN.key $DOMAIN.origin.key
openssl rsa -in $DOMAIN.origin.key -out $DOMAIN.key

echo "Sign SSL certificate..."

openssl x509 -req -days 3650 -in $DOMAIN.csr -signkey $DOMAIN.key -out $DOMAIN.crt

echo "TODO:"
echo "Copy $DOMAIN.crt to /etc/nginx/ssl/$DOMAIN.crt"
echo "Copy $DOMAIN.key to /etc/nginx/ssl/$DOMAIN.key"
echo "Add configuration in nginx:"
echo "server {"
echo "    ..."
echo "    listen 443 ssl;"
echo "    ssl on;"
echo "    ssl_certificate     /etc/nginx/ssl/$DOMAIN.crt;"
echo "    ssl_certificate_key /etc/nginx/ssl/$DOMAIN.key;"
echo "}"


1.2 生成证书
./gencert.sh
Enter your domain [www.example.com]: sub.domain.com
Create server key...
Generating RSA private key, 2048 bit long modulus
..........................+++
.....................+++
e is 65537 (0x10001)
Enter pass phrase for sub.domain.com.key:
Verifying - Enter pass phrase for sub.domain.com.key:
Create server certificate signing request...
Enter pass phrase for sub.domain.com.key:
Remove password...
Enter pass phrase for sub.domain.com.origin.key:
writing RSA key
Sign SSL certificate...
Signature ok
....


1.3 copy证书到相应位置 nginx/conf/cert目录下

2. nginx支持https证书
# vi sub.domain.com.conf
server{
    charset utf-8;

    listen 80;
    listen 443 ssl;
    ssl on;
    ssl_certificate /usr/local/nginx/conf/cert/sub.domain.com.crt;
    ssl_certificate_key /usr/local/nginx/conf/cert/sub.domain.com.key;
    server_name sub.domain.com;

    access_log  /home/wwwlogs/sub.domain.com.log;
    error_log /home/wwwlogs/sub.domain.com.err;

    location / {
        proxy_pass http://127.0.0.1:99999;
    }
}



3. 生成basic auth用的密码文件
参考

yum install httpd-tools -y
# magina是用户名,要求输入两次密码
htpasswd -c -d /usr/local/nginx/conf/pass_file magina
New password: 
Re-type new password: 


4. 配置nginx支持basic auth
# vi sub.domain.com.conf
server{
    charset utf-8;

    listen 80;
    listen 443 ssl;
    ssl on;
    ssl_certificate /usr/local/nginx/conf/cert/sub.domain.com.crt;
    ssl_certificate_key /usr/local/nginx/conf/cert/sub.domain.com.key;
    server_name sub.domain.com;

    # 以下2行支持 basic auth
    auth_basic "sub auth";
    auth_basic_user_file /usr/local/nginx/conf/pass_file;

    access_log  /home/wwwlogs/sub.domain.com.log;
    error_log /home/wwwlogs/sub.domain.com.err;

    location / {
        proxy_pass http://127.0.0.1:99999;
    }
}
分享到:
评论

相关推荐

    Nginx配置SSL自签名证书的方法

    本文将详细介绍如何在Nginx服务器上配置SSL自签名证书。 首先,我们需要生成自签名SSL证书。这通常包括以下步骤: 1. **生成RSA密钥**:使用`openssl genrsa`命令创建一个带有密码保护的RSA私钥。例如,`openssl ...

    Windows下Nginx配置SSL实现Https访问(包含证书生成)

    ### Windows 下 Nginx 配置 SSL 实现 HTTPS 访问(包含证书生成) #### 一、HTTPS 的重要性 HTTPS(Hyper Text Transfer Protocol Secure),即安全超文本传输协议,是在 HTTP 协议的基础上加入了 SSL/TLS 协议,...

    应用网关Nginx+Https证书+内网穿透+图片切割水印+网关登录

    它一个工具等于Nginx + 网关登录 + 图片处理 + 内网穿透 + 免费Ssl证书,且配置全程界面化,让你告别难懂、难记易出错的指令配置; 在追求功能多样性上性能也无语伦比,拥有多种措施大幅度改善源应用性能,是企业和...

    notepad++编辑nginx配置文件支持高亮

    在标题“notepad++编辑nginx配置文件支持高亮”中,我们关注的是如何在Notepad++中实现对Nginx配置文件的语法高亮显示,这将极大提升开发者的阅读和编写效率。 Nginx是一款高性能的HTTP和反向代理服务器,其配置...

    nginx配置+https

    - **证书配置**: - `ssl_certificate "/etc/pki/nginx/server.pem";` - `ssl_certificate_key "/etc/pki/nginx/private/server.key";` 这两行设置了用于加密连接的证书文件及其对应的私钥文件。 - **监听端口**...

    nginx https 配置

    首先,为了配置Nginx以支持HTTPS,你需要获取SSL证书。SSL证书通常由权威的证书颁发机构(CA)签发,如Let's Encrypt、Comodo、Verisign等。对于个人或测试环境,可以免费申请Let's Encrypt的证书。证书包括公钥和...

    nginx配置 +负载均衡+https协议

    通过生成SSL证书、重新编译Nginx以添加SSL模块,以及编辑Nginx配置文件实现HTTPS支持和负载均衡功能。此外,还提供了Nginx的基本操作命令,包括启动、停止和重启等。这些步骤和配置为构建安全可靠的Web服务器提供了...

    nginx基于Basic Auth鉴权的配置文件nginx.conf

    内容概要:通过nginx配置实现控制不同的用户可以访问不同的资源或者web ...②Basic Auth相关知识。 阅读建议:改资源基于Linux-CentOS7系统操作,需要有一定的Linux命令操作基础和nginx安装和配置能力。

    Nginx配置http转https以及https访问http静态资源.docx

    Nginx配置http转https以及https访问http静态资源需要配置SSL证书、SSL会话缓存、rewrite规则、location块、add_header指令、proxy_pass指令等。通过正确的配置,Nginx可以提供安全、稳定、高性能的Web服务器服务。

    Notepad++ 自定义 nginx.conf 文件语法高亮的配置文件

    Notepad++ 自定义 nginx.conf 文件语法高亮的配置文件 使用教程:点击语言-自定义语言格式-导入(下载的xml文件)-重启notepad++,即可使用

    详解nginx basic auth配置踩坑记

    basic auth配置示例: location / { auth_basic closed site; auth_basic_user_file conf/htpasswd; } 说明: auth_basic可设置为off或其它字符串,为off时表示不开启密码验证 auth_basic_user_file 为包含...

    Nginx配置高可用(Nginx+keepalived) - wenxuehai - 博客园.html

    Nginx配置高可用(Nginx+keepalived) - wenxuehai - 博客园.html

    界面化实现https证书生成和nginx配置

    标题“界面化实现https证书生成和nginx配置”指的是一个通过Java程序实现的工具,它能够帮助用户方便地生成HTTPS证书,并自动配置Nginx服务器以启用HTTPS服务。这个工具简化了通常涉及命令行操作的SSL/TLS证书创建...

    CentOS7 自动化搭建Nginx+PHP7+Mysql+Docker+Docker-Compose Shell脚本

    CentOS7 自动化搭建Nginx+PHP7+Mysql+Docker+Docker-Compose Shell脚本,Docker version 18.06.1-ce,docker-compose version 1.22.0

    nginx配置https详细步骤,从安装OpenSSL和Nginx,到生成证书,nginx配置(包括配置http请求转发到https)等

    本文将详细介绍如何在 Windows 系统下完成 Nginx 的 HTTPS 配置过程,包括 OpenSSL 的安装与配置、证书的生成以及 Nginx 配置文件的修改等关键步骤。 #### 二、准备工作 ##### 2.1 安装 OpenSSL **步骤1:** 访问 ...

    nginx+lua+redis实现token验证

    本文将深入探讨如何利用`nginx+lua+redis`来实现`token`验证,以确保只有经过授权的用户才能访问受保护的资源。 首先,让我们理解`token`验证的基本原理。`token`验证是一种身份验证机制,它允许客户端通过提供一个...

    Nginx+Uwsgi+Django+Vue部署

    Nginx+Uwsgi+Django(python3)+Vue部署,一步步实现。网上找了N多篇文章都没成功,特意记录,以免其他同学踩坑

    Web服务器三剑客运维配置实战 Nginx+JVM+Tomcat+HTTP协议.zip

    Web服务器三剑客运维配置实战 Nginx+JVM+Tomcat+HTTP协议 视频教程+笔记+课件+资料 虽然在课程中还讲解了部分HTTP协议的技术,但是课程的重点还是NGINX、JVM、Tomcat三相运维与配置技术。课程内容包括了Nginx进阶...

    Centos7服务器配置Nginx+mysql+https证书

    5. HTTPS证书配置: - HTTPS是HTTP的安全版本,通过SSL/TLS提供加密。在Nginx中配置HTTPS需要有效的SSL证书。 - 证书可以从受信任的证书颁发机构(CA)购买,或者使用Let's Encrypt等免费证书服务。 - Nginx配置...

    Vue项目部署Nginx配置文件 SSL

    在部署 Vue 项目时,Nginx 配置文件 `nginx.conf` 的关键设置如下: 1. **基本配置**: - `server` 块:定义一个监听特定端口(通常是80)的服务器实例。 ```nginx server { listen 80; server_name your...

Global site tag (gtag.js) - Google Analytics