希望能解决你的问题

你好!请看
我的环境:VUE + SpringBoot
前后端代码部署在一台服务器上面。

[root@tt ~]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.17.3
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --with-http_ssl_module

注意安装Nginx时,一点要安装ssl_module,否则Nginx的配置会报错,找不到ssl_certificate命令

话不多说,直接上配置


#user  nobody;
worker_processes  1;

#pid        logs/nginx.pid;

events {
    worker_connections  1024;
}

http {

    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  www.baidu.com; #填写你的服务器域名
		# 将所有http请求转发到https
		rewrite ^(.*)$ https://$host$1 permanent;
	
        location / {
	   		root   html; 
	   		index  index.html index.html;   
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
 		}
    }
    # HTTPS server
    server {
	listen 443 ssl; # 新版Nginx需要在此处开启ssl,老版本使用ssl on
	server_name www.baidu.com;  # localhost修改为您证书绑定的域名。

	ssl_certificate baidu.com.pem;   #将domain name.pem替换成您证书的文件名。
	ssl_certificate_key baidu.com.key ;   #将domain name.key替换成您证书的密钥文件名。
	ssl_session_timeout 5m;
	ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;  #使用此加密套件。
	ssl_protocols TLSv1 TLSv1.1 TLSv1.2;   #使用该协议进行配置。
	ssl_prefer_server_ciphers on;   
	
	location / {
          root   /usr/demo/web/dist/;
	   	  index  index.html index.htm;
        }
	# 将所有prod-api的地址代理到接口服务器上	
	location /prod-api{
		   #此处需要特别注意:
		   #1、后端接口的端口和前端端口不一致,会出现跨域情况,
		   #2、所有/prod-api请求都会被转发到http://www.baidu.com:9999/prod-api,在服务器内部进行
           proxy_pass http://www.baidu.com:9999/prod-api; # 将地址代理到api上
        }
    }
}

如果你发现错误,请指出,如果你觉得有帮助,请点赞!

Logo

前往低代码交流专区

更多推荐