nginx配置http和https

二话不说,先上配置信息

powershell 复制代码
#user  nobody;
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    client_max_body_size 100M;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
       # server_name  localhost;

		#配置服务器地址(这里域名和ip都配置了)
		server_name  **.com,www.***.com,47.96.82.59;


		#用户端
		location / {
			root   ./html/user;
			try_files $uri $uri/index.html
			index  index.html index.htm;
		}
		#商家端
		location /move {
			alias   ./html/technician-terminal;
			try_files $uri $uri/index.html
			index  index.html index.htm;
		}

		#管理端
        location /admin {
                alias   ./html/admin-pc;
                try_files $uri $uri/index.html
                index  index.html index.htm;

        }
		#通过nginx代理,在服务器上做文件服务,这个files是访问前缀,alias是需要代理的目标文件位置(/files/  为服务器根目录)
        location /files/ {
            alias /files/;  # 静态文件目录的别名
        }

		#代理转发API接口,前端页面可通过域名加prod-api的形式调用后端接口
        location /prod-api/ {
			#这里接的是ip+端口号,指向具体的服务器
            proxy_pass http://178.89.89.145:6001/;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;

        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        
    }




    # HTTPS server
    #
    server {
		#https对应的SSL端口,需要暴露出来
        listen       443 ssl;
		#服务域名
        server_name  www.****.com;
		#ssl证书,证书需要下载下了,放到NGINX配置里面,放到conf目录中,建立cert文件夹,在cert文件中存放两个证书文件
        ssl_certificate      cert/****.com.pem;
        ssl_certificate_key  cert/****.com.key;

		#用于配置SSL会话缓存。通过配置ssl_session_cache,Nginx可以缓存之前建立的SSL会话信息,以便在客户端再次发起连接时快速恢复会话,
		#从而减少SSL握手的时间和资源消耗。这种缓存机制可以提高SSL连接的建立速度,进而提升服务器的性能和响应速度
        ssl_session_cache    shared:SSL:1m;
		#参数用于指定客户端可以重用会话参数的时间。一旦超过这个时间,会话将不再可用
        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; #表示使用的TLS协议的类型。
       	ssl_prefer_server_ciphers on;
		location / {
		#这个是类似于跳转地址一样的东西,也就是服务域名(个人理解),这个域名必须是http得,否则会跨域
        	proxy_pass http://www.****.com/;
		}

    }

}

这一看配置文件就懂了吧,啥东西都有注释,写的明明白白的,这里面强调一下,就是https的最后一个类似于跳转链接的配置,这个一定要写域名,和服务地址那边的域名要保持一直,不然就有可能产生https的跨域问题,别的也没啥了,挺简单的一个配置,如有缺少说明,或者说明不对的,欢迎指正,这个配置文件是可用的,可以直接贴上去用,当然,配置SSL的环境数据,还是需要单独处理一下的,不会处理的,可以参考nginx安装SSL

相关推荐
丶21362 小时前
【Nginx】在 Docker 上安装 Nginx 的详细指南
运维·nginx·docker
小黑爱编程3 小时前
【LInux】HTTPS是如何实现安全传输的
linux·安全·https
Karoku06610 小时前
【网站架构部署与优化】web服务与http协议
linux·运维·服务器·数据库·http·架构
友友马13 小时前
『 Linux 』HTTP(一)
linux·运维·服务器·网络·c++·tcp/ip·http
2401_8725149713 小时前
深入探究HTTP网络协议栈:互联网通信的基石
网络·网络协议·http
ZHOU西口13 小时前
微服务实战系列之玩转Docker(十五)
nginx·docker·微服务·云原生·swarm·docker swarm·dockerui
清水白石00814 小时前
C++使用Socket编程实现一个简单的HTTP服务器
服务器·c++·http
不良人天码星15 小时前
HTTP 协议的基本格式
网络·网络协议·http
心勤则明15 小时前
Netty配置SSL证书加密
服务器·https·ssl
苹果醋317 小时前
react 路由 react-router/react-router-dom
运维·nginx