生产环境nginx配置https

我们在生产环境上站点为了安全是需要配置https的,但是一般的访问都是默认http访问。

我们需要做的是nginx配置里设置https,并做http跳转到https。

配置如下供参考。

以test.com为例子:

在server{} 区域里配置

代码如下:

    listen 80;
    listen 443 ssl http2;
    server_name test.com www.test.com;
        index index.html index.php index.htm default.php default.htm default.html;
    root /www/wwwroot/PHP7001/test.com;

    #301-START
        if ($host ~ '^test.com'){
            return 301 https://www.test.com$request_uri;
        }
    #301-END
	
    #HTTP_TO_HTTPS_START
    if ($server_port !~ 443){
        rewrite ^(/.*)$ https://$host$1 permanent;
    }
    #HTTP_TO_HTTPS_END
	
    ssl_certificate    /www/wwwconfig/PHP7001/cert/test.com/fullchain.pem;
    ssl_certificate_key    /www/wwwconfig/PHP7001/cert/test.com/privkey.pem;
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    add_header Strict-Transport-Security "max-age=31536000";
    error_page 497  https://$host$request_uri;

ps:这里同时监听了80和443端口,并且同时接受test.com和www.test.com的访问,如果客户访问的是test.com会301跳转到www.test.com;如果客户发送的http请求将会跳转到https协议。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
柚皮Windows服务器集成环境智控平台(以下简称UPUPW),主要用于一键部署全能网站运行环境,适用服务器生产环境和本地开发环境。  UPUPW控制面板集成网站运行环境所需功能,简单几步即可创建PHP,JSP,ASP/ASP.NET站点。  UPUPW控制面板独特的ANK控制区可随时切换为Apache前端、Nginx前端Apache后端、Kangle前端三种运行模式。  UPUPW创建的PHP站点可选择不同版本的PHP,支持多PHP版本同时运行,解决了需要适配各种组件与版本的站点同时运行的需求。  集成组件列表:  Apache、Nginx、Kangle、Tomcat、JRE、MySQL、MariaDB、MongoDB、Sphinx、Filezilla ftp、Memcached、Redis、PHP5.2、PHP5.3、PHP5.4、PHP5.5、PHP5.6、PHP7.1、Sendmail、Zend Optimizer、Zend Guard Loader、ionCube Loader、Source Guardian、Memcache、Redis、WinCache、Xdebug、Oauth、Sqlsrv、notepad 、phpmyadmin。  V1.1.4修复列表:  01、修复自带数据库管理面板密码含有大写字母无法登录的问题。  02、优化配置文件修复逻辑提升处理速度。  03、优化全局配置默认只启用PHP,MySQL,FTP,Memcached,Redis等常用功能。  04、优化数据库配置增强数据库稳定性与兼容性。  05、优化删除虚拟主机状态按钮,由“完成”改成“确定”便于理解。  06、优化Apache错误日志,由warn改成crit以减少日志文件大小。  07、优化Apache证书端口监听配置防止http和https混淆。  08、加强安全性,全局默认开启禁止未绑定域名访问。  09、新增FTP配置面板被动模式端口范围和访问日志开关。  10、新增ionCube Loaders解密组件于PHP7.1  V1.1.4更新列表:  01、更新Apache到Apache2.4.29  02、更新Kangle到Kangle3.5.12  03、更新Tomcat到Tomacet9.0.2  04、更新MariaDB到MariaDB10.2.11  05、更新MySQL到MySQL5.7.20  06、更新MongoDB到MongoDB3.6.0  07、更新PHP到PHP5.6.32和PHP7.1.12  08、更新Sphinx到Sphinx3.0.1  09、更新ionCube loaders到ionCube loaders10.1.0 
Centos7发布说明 环境说明: 服务器系统:CentOS 7.2.1511 相关工具:Xshel、Xftp 服务器软件软件:.netcore、nginx、supervisor 准备好发布的程序 安装.NET Core SDK for CentOS7 打开网址:https://www.microsoft.com/net/core#linuxcentos 复制如下命令,单步执行: sudo yum install libunwind libicu curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=835019 sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet sudo ln -s /opt/dotnet/dotnet /usr/local/bin 输入 dotnet –info 来查看是否安装成功 配置Nginx 下载安装Nginx,单步执行如下命令: curl -o nginx.rpm http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm rpm -ivh nginx.rpm yum install nginx systemctl start nginx 来启动nginx systemctl enable nginx 来设置nginx的开机启动(linux宕机、重启会自动运行nginx不需要连上去输入命令)。 配置防火墙 命令:firewall-cmd --zone=public --add-port=80/tcp --permanent(开放80端口) 命令:systemctl restart firewalld(重启防火墙以使配置即时生效) 测试nginx是否可以访问。 配置nginx对ASP.NET Core应用的转发 修改 /etc/nginx/conf.d/default.conf 文件,将文件内容替换为: server { listen 80; location / { proxy_pass http://localhost:5000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
要在nginx配置https端口映射,你可以按照以下步骤进行操作: 1. 首先,找到nginx配置文件路径。可以通过查看正在运行的nginx进程的PID来获取执行路径。使用以下命令查找nginx进程的PID: ``` netstat -anop | grep 0.0.0.0:80 ``` 2. 获取到nginx的执行路径后,使用-t参数来获取该进程对应的配置文件路径,例如: ``` /usr/local/nginx/sbin/nginx -t ``` 3. 打开nginx配置文件,该文件的路径是前一步获取到的路径。在文件中找到http块,并在其中添加以下配置: ``` server { listen 443 ssl; server_name yourdomain.com; ssl_certificate /path/to/ssl_certificate.crt; ssl_certificate_key /path/to/ssl_certificate.key; location / { proxy_pass http://127.0.0.1:8000; # 这里将8000替换为你要映射的http端口 } } ``` 请注意替换yourdomain.com为你的域名,并将`/path/to/ssl_certificate.crt`和`/path/to/ssl_certificate.key`替换为你的SSL证书和私钥文件的路径。 4. 确保你的配置文件没有语法错误,可以使用以下命令进行检查: ``` /usr/local/nginx/sbin/nginx -t ``` 5. 如果检查没有错误,可以重新加载nginx配置文件,使更改生效: ``` /usr/local/nginx/sbin/nginx -s reload ``` 这样,你的nginx配置就完成了https端口映射。请注意,在生产环境中,不要随意重启nginx服务,除非必要。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值