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自签名证书。 首先,我们需要生成自签名SSL证书。这通常包括以下步骤: 1. **生成RSA密钥**:使用`openssl genrsa`命令创建一个带有密码保护的RSA私钥。例如,`openssl ...
它一个工具等于Nginx + 网关登录 + 图片处理 + 内网穿透 + 免费Ssl证书,且配置全程界面化,让你告别难懂、难记易出错的指令配置; 在追求功能多样性上性能也无语伦比,拥有多种措施大幅度改善源应用性能,是企业和...
- **证书配置**: - `ssl_certificate "/etc/pki/nginx/server.pem";` - `ssl_certificate_key "/etc/pki/nginx/private/server.key";` 这两行设置了用于加密连接的证书文件及其对应的私钥文件。 - **监听端口**...
首先,为了配置Nginx以支持HTTPS,你需要获取SSL证书。SSL证书通常由权威的证书颁发机构(CA)签发,如Let's Encrypt、Comodo、Verisign等。对于个人或测试环境,可以免费申请Let's Encrypt的证书。证书包括公钥和...
在标题“notepad++编辑nginx配置文件支持高亮”中,我们关注的是如何在Notepad++中实现对Nginx配置文件的语法高亮显示,这将极大提升开发者的阅读和编写效率。 Nginx是一款高性能的HTTP和反向代理服务器,其配置...
通过生成SSL证书、重新编译Nginx以添加SSL模块,以及编辑Nginx配置文件实现HTTPS支持和负载均衡功能。此外,还提供了Nginx的基本操作命令,包括启动、停止和重启等。这些步骤和配置为构建安全可靠的Web服务器提供了...
内容概要:通过nginx配置实现控制不同的用户可以访问不同的资源或者web ...②Basic Auth相关知识。 阅读建议:改资源基于Linux-CentOS7系统操作,需要有一定的Linux命令操作基础和nginx安装和配置能力。
- 生成SSL证书:可以使用OpenSSL工具生成自签名证书,或者购买CA签发的证书。例如,使用以下命令生成自签名证书: ``` openssl req -newkey rsa:2048 -nodes -keyout server.key -x509 -days 365 -out server.crt...
Nginx配置http转https以及https访问http静态资源需要配置SSL证书、SSL会话缓存、rewrite规则、location块、add_header指令、proxy_pass指令等。通过正确的配置,Nginx可以提供安全、稳定、高性能的Web服务器服务。
Notepad++ 自定义 nginx.conf 文件语法高亮的配置文件 使用教程:点击语言-自定义语言格式-导入(下载的xml文件)-重启notepad++,即可使用
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
CentOS7 自动化搭建Nginx+PHP7+Mysql+Docker+Docker-Compose Shell脚本,Docker version 18.06.1-ce,docker-compose version 1.22.0
Nginx+Uwsgi+Django(python3)+Vue部署,一步步实现。网上找了N多篇文章都没成功,特意记录,以免其他同学踩坑
Web服务器三剑客运维配置实战 Nginx+JVM+Tomcat+HTTP协议 视频教程+笔记+课件+资料 虽然在课程中还讲解了部分HTTP协议的技术,但是课程的重点还是NGINX、JVM、Tomcat三相运维与配置技术。课程内容包括了Nginx进阶...
5. HTTPS证书配置: - HTTPS是HTTP的安全版本,通过SSL/TLS提供加密。在Nginx中配置HTTPS需要有效的SSL证书。 - 证书可以从受信任的证书颁发机构(CA)购买,或者使用Let's Encrypt等免费证书服务。 - Nginx配置...
总结,本文介绍了自动化脚本生成Nginx HTTPS PEM证书的方法,涉及了生成RSA密钥对、创建CSR、获取证书、配置Nginx以及证书格式转换等关键步骤。了解并掌握这一过程,对于管理和维护安全的Web服务至关重要。
### Nginx配置优化、负载均衡与动静分离详解 #### 一、Nginx配置优化 在现代Web应用中,Nginx作为一种高性能的HTTP服务器和反向代理服务器,在提高网站响应速度、处理高并发连接方面起着至关重要的作用。通过对...