nginx做https反向代理的配置示例

视频链接

配置nginx代理实现https访问

OpenSSL生成cert.key和cert.pem

生成私钥....

七层透传代理和中间人代理 

PEM_read_bio_X509_AUX() failed (SSL: error:0906D06C:PEM routines:PEM_read_bio​​​​​​​ 

1.生成私钥和证书

[root@wknode conf]#  openssl genrsa > cert.key
Generating RSA private key, 2048 bit long modulus
.+++
............................................................+++
e is 65537 (0x10001)
[root@wknode conf]# openssl req -new -x509 -key cert.key > cert.pem
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:JiangSu
Locality Name (eg, city) [Default City]:NanJing
Organization Name (eg, company) [Default Company Ltd]:DD
Organizational Unit Name (eg, section) []:GW
Common Name (eg, your name or your server's hostname) []:xx
Email Address []:XXXXXXXXXX@163.com

在Debian系统下安装并设置NginxHTTPS反向代理以解决跨域问题,可按以下步骤操作: ### 安装Nginx 在Debian系统中,可使用以下命令安装Nginx: ```bash sudo apt update sudo apt install nginx ``` ### 配置Nginx以解决跨域问题 编辑Nginx配置文件,通常为`/etc/nginx/nginx.conf` 或 `/etc/nginx/conf.d` 目录下的特定配置文件。可进入`/etc/nginx`目录,编辑`nginx.conf`文件;将`http`域内的整个`server{}`内容清除,找到`include /etc/nginx/conf.d/*.conf;`这行,若没有则添加到`http {}`的关闭括号前一行,删除或注释掉其他的`include *.conf`行 [^1][^4]。 ### 生成并配置HTTPS证书 可使用Let's Encrypt来免费获取和管理SSL/TLS证书。首先,安装Certbot: ```bash sudo apt install certbot python3-certbot-nginx ``` 然后,使用Certbot获取证书: ```bash sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com ``` 此命令会自动配置Nginx以使用HTTPS。 ### 配置HTTPS反向代理 以下是一个生成的HTTPS配置示例,可参考修改: ```nginx server { listen 80; server_name example.com www.example.com; return 301 https://$host$request_uri; } server { listen 443 ssl; server_name example.com www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; root /var/www/example.com/html; index index.html; location / { try_files $uri $uri/ =404; } # 反向代理配置示例 location /api/ { proxy_pass http://backend-server-ip:backend-server-port/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } ``` 在上述配置中,监听80端口的`server`块会将所有HTTP请求重定向到HTTPS。监听443端口的`server`块则处理HTTPS请求,其中`location /api/`块将以`/api/`开头的请求反向代理到后端服务器 [^2]。 ### 验证配置并重启Nginx 在修改配置文件后,需验证配置是否正确: ```bash sudo nginx -t ``` 若配置无误,可重启Nginx使配置生效: ```bash sudo systemctl restart nginx ``` ### 验证访问 访问`http://your-domain.com`应加载前端页面,所有API请求会自动代理到目标服务 [^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值