一、安装

sudo apt get install nginx

二、检查启动

ps -ef | grep nginx

展示四个工作进程一个守护进程表示正常启动

三、修改配置

位置:/etc/nginx/sitesavailable/default
很多文章都说是/etc/nginx/nginx.conf 但我改的是这里 暂时不清楚什么区别

#指向服务器
server {
        listen 80;   # http默认端口 但是需要备案才能开通  https默认端口443
        # 服务器的外部域名使用地址可以
        server_name localhost;
        location / {
              # 指向gunicorn host服务地址这里使用的是gunicorn + flask 监听8080端口
              proxy_pass http://127.0.0.1:8080;
              proxy_set_header Host $host;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}

#指向网站 静态页面
server {
	listen 80;
	listen [::]:80;

	server_name example.com;

	root /var/www/example.com;
	index index.html;

	location / {
		try_files $uri $uri/ =404;
	}
}

四、重启测试

检查配置sudo nginxt
重新加载重启sudo service nginx reload
客户端测试 如果是网页直接http://www.xxxx.com是否跳转nginx的欢迎界面

五、配置SSL证书

1 证书生成https://www.lddgo.net/encrypt/ssl
2 下载证书解压得到 cert.pem , private.key 文件
3 将cert.pem private.key两个文件复制到 nginx目录: /etc/nginx/
4 修改配置
server {
	listen 443 ssl;
    #服务器的外部域名,使用地址也可以
    server_name xxxx.com;

    #填写证书文件名ssl_certificate cert.pem;
    #填写证书私钥文件名ssl_certificate_key private.key;
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout 5m;
    #默认加密套件
    ssl_ciphers HIGH:!aNULL:!MD5;
    #表示优先使用服务端加密套件。默认开启
    ssl_prefer_server_ciphers on;

    location / {
          # 指向gunicorn host服务地址
          proxy_pass http://127.0.0.1:8088;
          proxy_set_header Host $host;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

配置HTTP请求自动跳转HTTPS
server {
    listen 80;
    #填写证书绑定的域名
    server_name xxxx.com;
    #将所有HTTP请求通过rewrite指令重定向到HTTPS。
    rewrite ^(.*)$ https://$host$1;
    location / {
       	#同上
    }
}

六、重启测试

配置ssl 请求的是https是否正常返回或者跳转

完结

原文地址:https://blog.csdn.net/qq_30527579/article/details/134729034

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_24524.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注