Nginx将tomcat项目转发。将非80/443端口口转为80或443及https

1.博主本测次配置针对windows,linux其实一样的道理
2.tomcat 8.55.0 nginx 1.25.1
3.步骤:
3.1nginx.conf内容:
复制代码
worker_processes  1;

events {
    worker_connections  2048;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  650;
gzip on;
# 不压缩临界值,大于1K的才压缩,一般不用改
gzip_min_length 1k;
# 压缩缓冲区
gzip_buffers 16 64K;
# 压缩版本(默认1.1,前端如果是squid2.5请使用1.0)
gzip_http_version 1.1;
# 压缩级别,1-10,数字越大压缩的越好,时间也越长
gzip_comp_level 5;
# 进行压缩的文件类型
gzip_types text/plain application/x-javascript text/css application/xml application/javascript;
# 跟Squid等缓存服务有关,on的话会在Header里增加"Vary: Accept-Encoding"
gzip_vary on;
# IE6对Gzip不怎么友好,不给它Gzip了
gzip_disable "MSIE [1-6]\.";
server_names_hash_bucket_size   128;
        client_header_buffer_size       32k;
        large_client_header_buffers     4 32k;
        client_max_body_size            300m;
        tcp_nopush                      on;
        tcp_nodelay                     on;
        client_body_buffer_size         512k;
        proxy_connect_timeout           180;
        proxy_read_timeout              3000;
        proxy_send_timeout              3000;
        proxy_buffer_size               256k;
        proxy_buffers                   4 256k;
        proxy_busy_buffers_size         256k;
        proxy_temp_file_write_size      256k;
        proxy_hide_header               X-Powered-By;
        server_name_in_redirect         off;
        map_hash_bucket_size            1024;
        map_hash_max_size               102400;
        charset                         utf-8;

    server {
    listen       443 ssl;
    server_name  ****.****.com;
	ssl_certificate  D://******.com.pem;
	ssl_certificate_key  D://******.com.key;
	ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM';
    location / {
        proxy_pass  http://localhost:7601;
		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 $scheme;
    }
		}

}
3.2 博主tomcat内容比较简单,不进行粘贴了:tomcate项目启动端口是7061,先启动tomcat在启动nginx即可。
3.3后续发现部分博主反映虽然主页正常单部分报错 ,会出现CORS错误,解决办法为:
3.3.1修改tomcat配置server.xml文件:

connector里添加

  • ++redirectPort="443"++

++roxyPrort="443++
复制代码
   <Connector port="8080" protocol="HTTP/1.1"
                  connectionTimeout="20000"
                  redirectPort="443"
   		       proxyPrort="443"
                  maxParameterCount="1000"
                  />
3.3.2host里添加:
复制代码
<Valve className="org.apache.catalina.valves.RemoteIpValve" protocolHeaderHttpsValue="https" remoteIpHeader="X-Forwarded-For" protocolHeader="X-Forwarded-Proto" />
3.3.3host代码块添加完后如下: 注意实在host节点里添加了value的子节点
最终成功展现:

达成效果:能够将非主流端口全部通过nginx转到80 或者443,很好用。

相关推荐
骇客野人4 小时前
基于Nginx+Eureka+Apollo+Jenkins+SpringBoot Web系统分布式部署方案
nginx·eureka·jenkins
游戏开发爱好者84 小时前
iOS 推送怎么配置,APNs 推送证书、设备库与群发
android·ios·小程序·https·uni-app·iphone·webview
Kendra91917 小时前
从 0 到上线:单文件网页 App 部署到阿里云 ECS 全流程(Nginx+Node+PM2+PostgreSQL)
nginx·阿里云·云计算·部署·个人开发·今天吃什么
暖核1 天前
Nginx 从入门到实践:部署、配置、反向代理与负载均衡全解
运维·nginx·负载均衡
蜡台1 天前
本机 局域网 搭建本地 HTTPS 域名完整方案
网络协议·http·https·openssl
.柒宇.1 天前
运维常见面试题_04_Nginx与DNS服务
运维·nginx·面试·dns
NGINX开源社区1 天前
NGINX Ingress Controller 5.5:安全性与性能提升,迁移更轻松
java·服务器·nginx
weixin_307779131 天前
PHP 大文件上传:内存占用、超时与最佳实践
linux·服务器·开发语言·nginx·php
闲云野鹤在人间1 天前
项目实战:LNMP-电商平台-ECshop
linux·运维·nginx·apache·lvs
暖核1 天前
Keepalived 高可用全解析:从 VRRP 原理到生产环境 Nginx 主备切换实践
网络·nginx·智能路由器