如何配置 Nginx 反向代理将请求转发到本地 8080 端口并开启 HTTPS

文章导读
配置 Nginx 反向代理将请求转发到本地 8080 端口并开启 HTTPS,首先需要确保 Nginx 已安装并拥有有效的 SSL 证书。在 nginx.conf 或站点配置文件中,监听 443 端口并启用 ssl,指定证书路径。然后使用 location 块配置 proxy_pass 指向 http://127.0.0.1:8080。同时建议配置 80 端口监听并强制跳转至 HTTPS,以确保安
📋 目录
  1. Nginx 配置转发_linux 端口转发代理
  2. Nginx 配置 + 转发 8080 端口 + 页面静态缓存+https 配置
  3. Nginx 反向代理实战配置:HTTPS 跳转+WebSocket 支持+NAS 服务转发完整方案
  4. Nginx 反向代理配置全流程实战:从环境搭建到 HTTPS 部署 - 详解
  5. 如何使用 Nginx 实现反向代理和端口转发?
  6. FAQ
A A

配置 Nginx 反向代理将请求转发到本地 8080 端口并开启 HTTPS,首先需要确保 Nginx 已安装并拥有有效的 SSL 证书。在 nginx.conf 或站点配置文件中,监听 443 端口并启用 ssl,指定证书路径。然后使用 location 块配置 proxy_pass 指向 http://127.0.0.1:8080。同时建议配置 80 端口监听并强制跳转至 HTTPS,以确保安全性。修改配置后需测试语法并重载 Nginx 服务使配置生效。

Nginx 配置转发_linux 端口转发代理

客户提供的服务器只提供个 http 的 80 端口和 https 的 443 端口,其他端口不开放,但是我们的后台是 8080 启动的,访问需要代理转发 先找安装 nignx 的位置,找不到输入指令 代码语言:javascript AI 代码解释 找 nginx.conf 配置文件 修改配置,https 默认是 443 端口,监听 443,然后设置代理 server 8080 端口。(下面 https 的证书填自己的,server_name 写自己的服务器 ip) 代码语言:javascript AI 代码解释 upstream nginxDemo {server 127.0.0.1:8080;}# HTTPSserver # server {listen 443ssl;server_name 填服务器的 ip ssl_certificate 自己的证书 ssl_certificate_key 自己证书 key ssl_session_timeout 5m;ssl_protocols TLSv1 TLSv1.1TLSv1.2;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;ssl_prefer_server_ciphers on;location /{root html;index index.html index.htm;proxy_pass http://nginxDemo;}} 这样我们请求服务器接口地址填写 https:// + ip,就会默认到服务器的 443,然后再转发到 8080,也就是后台的端口,就能请求到接口了。http 的同理,默认是 80 端口,自己改 80 的配置就行,我这里就不修改了 修改完配置保存,然后重启 nginx(资料日期为 2026 年 4 月 11 日)

Nginx 配置 + 转发 8080 端口 + 页面静态缓存+https 配置

nginx proxy_pass 后出现部分请求 404 的解决办法 https://www.jianshu.com/p/55bfbba45fed #Nginx 配置 + 转发 8080 端口 + 页面静态缓存 user apache; worker_processes1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events { worker_connections1024; } http { include mime.types; default_type application/octet-stream;#log_format main '$remote_addr - $remote_user [$time_local] "$request" '# '$status $body_bytes_sent "$http_referer" '# '"$http_user_agent" "$http_x_forwarded_for"';#access_log logs/access.log main;sendfile on;#tcp_nopush on;#keepalive_timeout 0;keepalive_timeout65;# 开启 gzip#gzip on;##cache##proxy_connect_timeout5; proxy_read_timeout60; proxy_send_timeout5; proxy_buffer_size16k; proxy_buffers464k; proxy_busy_buffers_size128k; proxy_temp_file_write_size128k; proxy_temp_path/var/www/html/temp_cache1;#临时缓存目录 proxy_cache_path/var/www/html/cache1 levels=1:2keys_zone=cache_one:200m inactive=30d max_size=5g;#设置缓存存放,不懂的参数自己百度搜索下##end##server { listen80; server_name ketoweightloss.vip; rewrite ^(.*)$ https://$host$1permanent;#这里是 http 跳转 https#charset koi8-r;#access_log logs/host.access.log main;#error_page 404 /404.html;# redirect server error pages to the static page /50x.html#error_page500502503504/50x.html; location = /50x.html { root html; }# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {# proxy_pass http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000##location ~ \.php$ {# root html;# fastcgi_pass 127.0.0.1:9000;# fastcgi_index index.php;# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;# include fastcgi_params;#}# deny access to .htaccess files, if Apache's document root# concurs with nginx's one##location ~ /\.ht {# deny all;#}}# another virtual host using mix of IP-, name-, and port-based configuration##server {# listen 8000;# listen somename:8080;# server_name somename alias another.alias;# location / {# r(该信息的时间戳是 2026 年 4 月 13 日)

Nginx 反向代理实战配置:HTTPS 跳转+WebSocket 支持+NAS 服务转发完整方案

在日常开发和运维中,Nginx 反向代理是实现服务转发、HTTPS 部署、负载均衡的核心工具。本文分享一套实战性极强的 Nginx 配置方案,主要实现以下核心功能:HTTP 强制跳转 HTTPS,提升服务安全性 WebSocket 协议支持,适配实时通信场景 NAS 服务反向代理 (含登录跳转修复、静态资源转发) 安全防护配置,屏蔽敏感文件访问 优化的连接超时与缓存策略 配置已在生产环境验证,适用于个人 NAS 搭建、企业内部服务暴露等场景,新手可直接复制修改关键参数使用。一、完整配置代码 # nas 5000 后端 upstream upstream nas_backend { server 192.168.9.118:5000; # 后端 NAS 服务地址 + 端口 keepalive 32; # 长连接保持数量 keepalive_requests 1000; # 每个长连接最大请求数 keepalive_timeout 60s; # 长连接超时时间 } # WebSocket 支持映射 (关键配置) map $http_upgrade $connection_upgrade { default upgrade; '' close; } # 80 端口 HTTP 配置 (强制跳转 HTTPS) server { listen 80; server_name hcloud.cn; # 你的域名 resolver 8.8.8.8 114.114.114.114 valid=300s; # DNS 解析器 resolver_timeout 5s; # DNS 解析超时时间 # 主目录强制跳转 HTTPS location / { return 301 https://$host$request_uri; } # 兼容 Let's Encrypt 证书验证 (重要) location ~ ^/\.well-known/ { root /www/wwwroot/hcloud.cn; # 证书验证文件目录 allow all; } # 日志配置 access_log /www/wwwlogs/hcloud.cn_80.log; error_log /www/wwwlogs/hcloud.cn_80.error.log; } # 443 端口 HTTPS 配置 (核心服务) server { listen 8033 ssl ; # 监听端口 (可改为标准 443) http2 on; # 启用 HTTP/2,提升性能 server_name hcloud.cn; # 与 HTTP 服务保持一致的域名 resolver 8.8.8.8 114.114.114.114 valid=300s; resolver_timeout 5s; index index.php index.html index.htm; root /www/wwwroot/hcloud.cn; # 网站根目录 # SSL 证书配置 (替换为你的证书路径) ssl_certificate /www/server/panel/vhost/cert/hcloud.cn/fullchain.pem; ssl_certificate_key /www/server/panel/vhost/cert/hcloud.cn/privkey.pem; # SSL 安全优化 ssl_protocols TLSv1.2 TLSv1.3; # 仅支持安全的 TLS 版本 ssl_prefer_server_ciphers on; # 优先使用服务端加密套件 ssl_session_cache shared:SSL:10m; # SSL 会话缓存 ssl_se(来自 2026 年 1 月 30 日的资料)

Nginx 反向代理配置全流程实战:从环境搭建到 HTTPS 部署 - 详解

本文将以 Nginx 为例,详细记录如何配置反向代理,解决“域名 + 端口可访问但直接域名访问失败”的问题,并最终实现 HTTPS 加密访问 (全程基于实际操作场景,避免冗余步骤)。场景:后端服务运行在服务器 3000 端口,通过 your-domain.com:3000 可正常访问,但直接输入 your-domain.com(默认 80 端口) 时无法加载页面。目标:配置 Nginx 反向代理,让域名 (不带端口) 直接指向后端服务,并启用 HTTPS 加密。1. 环境准备:创建站点配置目录 Nginx 默认没有 sites-available 目录,需手动创建 (用于集中管理单个站点的配置文件,便于后续维护): # 创建站点配置目录 (存放反向代理配置文件)sudomkdir-p /etc/nginx/sites-available 2. 修改主配置文件 (nginx.conf):引入自定义配置 Nginx 主配置文件位于/etc/nginx/nginx.conf,关键是在 http 块内添加 include 指令,让 Nginx 能读取 sites-available 目录下的配置:# 编辑主配置文件 sudovim /etc/nginx/nginx.conf#在 http 块内添加以下内容 (示例核心结构)http {# 原有默认配置 (如 log_format、sendfile、include mime.types 等,保留不变)# 关键:引入 sites-available 目录下的所有.conf 配置文件 include/etc/nginx/sites-available/*.conf; } 注意:include 指令必须放在 http 块内,否则会报"serverdirective is not allowed here"错误 (server 块只能在 http 层级下生效)。3. 编写反向代理配置文件 在 sites-available 目录下创建当前域名的配置文件 (如 your-domain.com.conf),内容包含"HTTP 自动跳 HTTPS"和"HTTPS 反向代理”两部分:# 创建并编辑反向代理配置文件 sudo vim /etc/nginx/sites-available/your-domain.com.conf 配置文件内容 (替换 your-domain.com 为实际域名,证书路径为实际路径):(截至 2025 年 9 月 28 日)

如何配置 Nginx 反向代理将请求转发到本地 8080 端口并开启 HTTPS

如何使用 Nginx 实现反向代理和端口转发?

1. 反向代理 1.1 反向代理的概念 反向代理是指客户端不直接访问服务端,而是通过反向代理服务器来访问服务端资源。反向代理服务器负责转发客户端请求,并将响应结果返回给客户端。通常情况下,反向代理服务器的 IP 地址对于客户端来说是可见的,而服务端的 IP 地址则是不可见的。反向代理通常用于隐藏服务端的真实 IP 地址,提高系统的安全性和稳定性。同时,反向代理还可以实现负载均衡、缓存加速等功能。1.2 使用 Nginx 实现反向代理 使用 Nginx 实现反向代理非常简单,只需要在 Nginx 配置文件中添加以下配置项:代码语言:txt AI 代码解释 http { server { listen 80; server_name example.com; location / { proxy_pass http://backend_server; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } } 以上配置项表示,Nginx 监听 80 端口,当有客户端请求 example.com 域名时,会将请求转发到 backend_server(即服务端),并在 HTTP 头中添加 Host 和 X-Real-IP 信息。2. 端口转发 2.1 端口转发的概念 端口转发是指将来自一个端口的数据包转发到另一个端口。通常情况下,在网络中应用层协议只监听一种端口,因此需要端口转发来实现不同应用程序之间的互访。例如,我们可以通过 Nginx 将 HTTP 请求转发到 Tomcat 服务器的 8080 端口上。2.2 使用 Nginx 实现端口转发 使用 Nginx 实现端口转发也非常简单,只需要在 Nginx 配置文件中添加以下配置项:代码语言:txt AI 代码解释 http { server { listen 80; server_name example.com; location / { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } } 以上配置项表示,Nginx 监听 80 端口,当有客户端请求 example.com 域名时,会将请求转发到本地的 Tomcat 服务器的 8080 端口上,并在 HTTP 头中添加 Host 和 X-Real-IP 信息。(发布时间是 2023 年 6 月 8 日)

FAQ

Nginx 配置修改后如何生效?

修改配置文件后,需先运行 nginx -t 检查语法是否正确,确认无误后执行 nginx -s reload 重载配置,或重启 Nginx 服务。

如何配置 Nginx 反向代理将请求转发到本地 8080 端口并开启 HTTPS

为什么配置了 HTTPS 仍然无法访问?

常见原因包括证书路径错误、防火墙未开放 443 端口、SSL 协议版本不兼容或未正确配置 ssl_certificate 和 ssl_certificate_key。

proxy_pass 后面是否需要加斜杠?

视情况而定,若 location 匹配路径需替换,则加斜杠;若仅转发域名和端口,通常不加斜杠以保持原始路径结构。