NGINX配置域名访问SpringBoot服务

NGINX配置域名访问SpringBoot服务

部署SpringBoot服务

  • 先将项目编译打成jar包;
  • 将编译好的jar包上传至服务器
  • 启动jar包,启动命令:nohup java -jar jar包全名 > 日志文件全名 2>&1 &

配置nginx

  • 找到nginx安装目录,进入到conf文件夹下;
  • 找到文件夹中的nginx.conf文件,进行配置;

配置内容如下:

upstream xxxserver { # 负载均衡-->该节点下可配置多个server,按时间节点轮流分配
	server localhost:port; # server1
	server localhost:port; # server2
	server localhost:port; # server3
}
server{	
  	listen 443 ssl; # https监听的443端口, 如果配置完成https无法访问,请查看端口443是否放行?
  	server_name 你的域名; # 域名
    ssl_certificate  ssl/ssl证书pem文件; # ssl证书pem文件
    ssl_certificate_key ssl/ssl证书key文件; # ssl证书key文件
    ssl_session_timeout 5m; # 客户端可以重用会话缓存中ssl参数的过期时间
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; # 密码套件 不同的浏览器所支持的套件(和顺序)可能会不同。这里指定的是OpenSSL库能够识别的写法,你可以通过 openssl -v cipher 'RC4:HIGH:!aNULL:!MD5'(后面是你所指定的套件加密算法) 来看所支持算法。加密套件 之间用冒号分隔,加密套件 前有感叹号的表示必须废弃。
  	ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # 加密协议 nginx在1.1.13和1.0.12版本后默认是ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2,TLSv1.1与TLSv1.2要确保OpenSSL >= 1.0.1 ,SSLv3 现在还有很多地方在用但有不少被攻击的漏洞。
    ssl_prefer_server_ciphers on; # 设置协商加密算法时,优先使用我们服务端的加密套件,而不是客户端浏览器的加密套件
  	location / {
  		proxy_pass http://xxxserver; # 代理url 
  	}
  }
  
server { # 该配置可以把http转换为https
    listen 80; # http监听的是80端口
    server_name 你的域名;
    rewrite ^(.*)$ https://$host$1 permanent;
}

注: nginx服务重启命令:service nginx restart

重新启动

配置完nginx.conf文件之后,重启nginx服务即可通过域名访问服务接口

拓展

若需要配置跨域 则需要添加:

add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET,POST';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 1. 首先安装nginx,可以使用apt-get或yum等包管理器进行安装。 2. 在nginx配置文件中添加以下内容: ``` server { listen 80; server_name yourdomain.com; location / { proxy_pass http://localhost:808; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } ``` 其中,yourdomain.com为你的域名,proxy_pass为你的Spring Boot应用程序的端口号。 3. 保存并退出配置文件,然后重新启动nginx服务。 4. 启动Spring Boot应用程序,确保它正在监听与proxy_pass相同的端口。 5. 现在你可以通过访问yourdomain.com来访问你的Spring Boot应用程序了。nginx将充当反向代理服务器,将所有请求转发到Spring Boot应用程序。 ### 回答2: Nginx 是目前最流行的开源 Web 服务器之一,它可以作为反向代理服务器来加速 Web 应用程序,并支持负载均衡、HTTP 缓存、SSL/TLS 加密等功能。在将 Spring Boot 项目部署到生产环境时,将其与 Nginx 配合使用,可以有效提高应用程序的性能和可靠性。 配置 Spring Boot 项目Nginx 中非常简单,只需按照以下步骤操作即可: 1. 安装 Nginx 并启动。具体安装方法可以参考官网文档或 Linux 发行版的包管理器。启动命令如下: ``` sudo systemctl start nginx ``` 2. 编辑 Nginx配置文件。Nginx配置文件通常位于 /etc/nginx/nginx.conf,我们需要修改该文件,以使其转发请求到 Spring Boot 应用程序。具体配置如下: ``` server { listen 80; server_name example.com; location / { proxy_pass http://localhost:8080; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } ``` 上面的配置文件中,我们使用了反向代理服务器的模式,并将请求转发到 Spring Boot 应用程序的默认端口 8080。同时,我们还配置了一些 Nginx 的头部信息,以方便 Spring Boot 应用程序获取客户端的 IP 地址和其他相关信息。 3. 重新加载 Nginx 配置文件。执行以下命令: ``` sudo nginx -t # 测试配置文件 sudo nginx -s reload # 重新加载配置文件 ``` 4. 启动 Spring Boot 应用程序。Spring Boot 应用程序可以以内置的方式启动,也可以作为系统服务运行。在此不再赘述。 通过上述步骤,我们就可以在 Nginx配置 Spring Boot 项目。当用户发起请求时,Nginx 将会代理该请求,并将其转发到 Spring Boot 应用程序中进行处理。这样可以大大提高 Web 应用程序的响应速度和并发能力,为公司的业务发展提供保障。 ### 回答3: Nginx是一款高性能的Web服务器和反向代理服务器,可以通过一些简单的配置,将多个Spring Boot项目集成在一起,优化网络传输和资源占用,提高系统效率和用户体验。 以下是配置步骤: 1. 安装Nginx 先确保服务器上已经安装了Nginx。如果没有安装,可以通过以下命令进行安装: sudo apt-get install nginx 2. 配置Nginx反向代理 在Nginx配置文件中添加反向代理规则,将请求代理到Spring Boot应用程序。例如,如果Spring Boot应用程序运行在localhost:8080,则可以通过以下配置将请求代理到该应用程序: server { listen 80; server_name localhost; location / { proxy_pass http://localhost:8080; proxy_set_header Host $host:$server_port; } } 3. 配置SSL/TLS 为了提高网站的安全性,可以为Nginx配置SSL/TLS证书。可以通过以下命令生成证书: sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt 然后,在Nginx配置文件中添加以下配置,使其支持HTTPS: server { listen 443 ssl; server_name localhost; ssl_certificate /etc/nginx/ssl/nginx.crt; ssl_certificate_key /etc/nginx/ssl/nginx.key; location / { proxy_pass http://localhost:8080; proxy_set_header Host $host:$server_port; } } 4. 配置负载均衡 如果存在多个Spring Boot应用程序,可以使用Nginx的负载均衡功能将请求分配给这些应用程序。以下是一个示例配置: upstream backend { server localhost:8080; server localhost:8081; server localhost:8082; } server { listen 80; server_name localhost; location / { proxy_pass http://backend; proxy_set_header Host $host:$server_port; } } 通过以上的配置,可以经过Nginx代理将请求分配给多个Spring Boot应用程序,提高系统的可用性和健壮性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值