winServer服务器搭建nginx配置https问题及流程:

问题:

1、 配置切记要仔细,每个配置项最后都应以_ ; _结尾。报错如下:

 2022/07/11 12:51:29 [emerg] 3284#4856: "worker_processes" directive is not allowed here in F:\nginx/conf/conf.d/nginx(1).conf:3

2、配置文件中配置文件名与实际路径下文件名不一致。报错如下:

2022/07/11 12:52:49 [emerg] 4504#2412: cannot load certificate "F:\nginx/conf/ssl/mpatrol.cn_bundle.pem": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('F:\nginx/conf/ssl/mpatrol.cn_bundle.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file)
 问题修复过程:
    1、刚开始以为是winServer不支持绝对路径配置,然后修改为绝对路径,问题依然存在。
    2、将证书相关两文件放置conf文件目录下测试相对路径与绝对路径,问题依然存在。
    3、最终发现拷贝文件与配置中文件名不一致,修改一致后,问题修复。

3、nginx版本不同,配置项有所改动:(非问题,作为记录防止遗忘)

1.15及以后版本都不在支持ssl on;

老版本nginx配置https使用:ssl on;  开启ssl属性。
新版本nginx配置https使用:listen 443 ssl; 即可开启ssl属性。

4、400 Bad Request: The plain HTTP request was sent to HTTPS port

从报错的字面意思上来看,是因为HTTP请求被发送到HTTPS端口,这种报错多出现在Nginx既处理HTTP请求又处理HTTPS请求的情况。
该项目nginx中配置了http server模块和https server模块,具体业务流向为:
    https -> http: 访问登陆页后跳转详情页
 由于配置不完善导致登陆成功后跳转详情页时,未能正常将所有的HTTP请求重定向到HTTPS导致页面异常。
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_pass http://0.0.0.0:8082; 
proxy_redirect http:// https://;   # 将http协议转为https协议
​
解读:
    1)proxy_pass执行前,先设置了request head host 为https外网访问的域名+端口 
    2)proxy_pass执行后,tomcat结果返回response 
    3)proxy_redirect修改response中的location中的协议http为https外网访问的协议。
    java redirect重定向主要是通过访问tomcat服务的请求head项来决定的,默认是http协议,域名是通过读取host地址,默认host中不包括访问端口,因此使用非443端口时,访问web地址时需添加端口。

当前项目主要配置项:在https server模块下添加http重定向https。

server {
    listen       81;
    listen       8087 ssl;
    server_name          www.XXX.cn XXX.cn;
    ssl_protocols        TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers          AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5;
    ssl_certificate      ssl/XX.cn_bundle.crt;
    ssl_certificate_key  ssl/XX.cn.key;
    ssl_session_cache    shared:SSL:10m;
    ssl_session_timeout  15m;
    ssl_prefer_server_ciphers  on;
​
    location / {
        root   html/mpis;
        index  index.html;
    }
    location /cc/web/ {
        proxy_pass http://0.0.0.0:10002/mpis/web/;
    }
    location /cc/base/ {
        proxy_pass http://0.0.0.0:10001/mpis/base/;
    }
   
    location /hxdlhd {
        proxy_pass http://www.XXXX.cn:81/hxdlhd/login/goLogin;
        proxy_set_header  X-Real-IP  $remote_addr;
        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
        proxy_set_header Host $http_host;
    }
    location /hxdlhd/ {
        proxy_pass http://0.0.0.0:8080/hxdlhd/;
        proxy_set_header  X-Real-IP  $remote_addr;
        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
        proxy_set_header Host $http_host;
        
        # 配置此属性即可完成 http重定向至https
        proxy_redirect http:// https://;
​
    }
    location ~* ^/WW_verify_h3vxzGabbQ7SLsWm.txt {
        default_type text/html;
        alias F://nginx-1.21.6/html/WW_verify_h3vxzGabbQ7SLsWm.txt;
    }    
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Nginx版UPUPW PHP绿色服务器平台 1807.1 Nginx版UPUPW PHP绿色服务器平台采用Nginx+PHP+MariaDB的架构搭建,MariaDB和MySQL完全兼容使用方法一致省内存性能佳。 Nginx版UPUPW PHP绿色服务器平台 1807.1 更新日志: 主体部分: Nginx/1.14.0强化版 轻量级的HTTP服务器软件,此为upupw针对win平台特别加强版; PHP/7.2.7正式版 新一代的PHP版本,性能显著提升,易学易用、速度快、跨平台; MariaDB/10.3.8 MySQL分支版本使用方法完全一致,有着更强的性能和兼容性; Redis/3.2.1 非常高效的数据缓存服务端; phpMyAdmin/4.8.2 开源、基于WEB而小巧的数据库管理程序; SendMail 目前使用最为广泛的一种E-mail服务器邮件传输代理程序; FileZilla server/0.9.60.2 高安全、高性能FTP服务器端程序可以单独作为FTP服务器端使用。 重要组件: php_redis/2.2.7 Redis的PHP客户端连接组件; php_wincache/2.0.0.8 高速的FastCGI下PHP脚本缓存组件; php_mongodb/1.5.0 MongoDB的PHP客户端连接组件; php_sqlsrv/5.2.0 SqlServer的PHP客户端连接组件; php_opcache/7.2.7 PHP代码高效缓存加速器,优化程序,编码器和动态内容缓存; php_ioncube_loader/10.2.2 解密加代码优化,执行ionCube加密过的PHP代码; php_ixed/11.2 解密加代码优化,执行SourceGuardian加密过的PHP代码; php_xdebug/2.6.0 PHP程序调试器,跟踪、调试和分析PHP程序的运行状况; UPUPW PHP安全探针 支持服务器信息检测,PHP组件检测,PHP已编译模块检测,数据库连接测试等。 功能列表: UPUPW一键式Nginx+PHP+Redis+数据库服务开启与关闭控制面板; UPUPW内置小型的数据库管理面板,添加,删除,修改,导入,导出快捷方便; UPUPW已配置Nginx的虚拟主机支持伪静态文件,示例包含discuz,phpwind,WordPress和ThinkPHP伪静态规则; UPUPW已配置Nginx的虚拟主机支持Pathinfo路径功能; 支持Nginx和PHPfpm服务的单独开启、关闭与重启; 支持Redis,数据库服务的单独开启与关闭; 支持Nginx进程守护功能自动修复假死状态; 支持虚拟主机添加、修改、删除等设置; 支持Nginx和数据库端口更改; 支持现有端口检测,排查异常端口占用情况; 支持强制或常规重设数据库密码; 支持数据库特性由旧版本升级为新版本; 支持Nginx的Gzip,keepalive,Expires,logs功能设置; 支持本机Hosts文件重定向本地域名解析; 支持自定义扩展UP功能命令窗口; 支持高级服务清理工具; 支持UPUPW安全防护功能; 支持PHP功能组件开启关闭; 支持主机性能适配功能; 支持生产开发环境选项; 支持FTP服务器端管理模块; 支持UPUPW配置文件的备份与还原。
Windows 服务器上配置 Nginx 进行 HTTPS 请求时,您需要修改 Nginx配置文件。以下是一个示例的 Nginx 配置文件: ```nginx http { ... server { listen 80; server_name your_domain.com; location / { proxy_pass http://localhost:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } server { listen 443 ssl; server_name your_domain.com; ssl_certificate path/to/your_certificate.crt; ssl_certificate_key path/to/your_private_key.key; location / { proxy_pass http://localhost:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } ... } ``` 请按照以下步骤进行操作: 1. 打开 Nginx配置文件,通常在 `C:\nginx\conf\nginx.conf`。 2. 在 `http` 块中添加服务器块来监听 80 端口,并将请求转发到您的应用程序(假设是运行在 localhost:8000)。 3. 在同一个 `http` 块中添加另一个服务器块来监听 443 端口,并启用 SSL。将 `ssl_certificate` 和 `ssl_certificate_key` 的路径指定为您的 SSL 证书和私钥文件的位置。 4. 在此服务器块中,将请求转发到您的应用程序。 5. 保存并关闭配置文件。 确保您已经将 `your_domain.com` 替换为您的域名,并将 `path/to/your_certificate.crt` 和 `path/to/your_private_key.key` 替换为您的 SSL 证书和私钥文件的实际路径。 保存并关闭配置文件后,重新启动 Nginx 以使更改生效。您可以打开命令提示符,切换到 Nginx 的安装目录(例如 `C:\nginx`),然后执行命令 `start nginx` 来启动 Nginx

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值