nginx配置域名使用http或https访问

Posted autofelix

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx配置域名使用http或https访问相关的知识,希望对你有一定的参考价值。

〝 古人学问遗无力,少壮功夫老始成 〞

nginx配置域名使用http或https访问,在网站的建设中,常常会遇到配置http和https站点访问,常码字不易,出精品更难,没有特别幸运,那么请先特别努力,别因为懒惰而失败,还矫情地将原因归于自己倒霉。你必须特别努力,才能显得毫不费力。如果这篇文章能给你带来一点帮助,希望给飞兔小哥哥一键三连,表示支持,谢谢各位小伙伴们。

目录

一、修改站点配置

二、配置详解


一、修改站点配置

  • 这里以default.conf配置为例
  • 如果你有多个域名配置文件的话,每个文件中进行相应的配置
  • 配置完成后,需要重启nginx服务才生效
  • 命令
vim /etc/nginx/conf.d/default.conf
  • 配置如下
server 
    #监听的端口号
    listen 80;
    #主机名
    #server_name www.jiangliang738.cn;
    #url重写
    rewrite ^(.*)$ https://$host$1 permanent;


server 
    #监听的端口号
    listen       443;
    #主机名
    #server_name www.jiangliang738.cn;
    #开启ssl验证
    ssl on;
    #字符集
    charset utf-8;
    #访问的根目录
    root   /var/www/html;
    #错误页面
    error_page  404    【404.html文件路径】;
    #图片视频静态资源缓存到客户端时间
    location ~ .*\\.(jpg|jpeg|gif|png|ico|mp3|mp4|swf|flv)
      expires 10d;
    
    #js/css静态资源缓存到客户端时间
    location ~ .*\\.(js|css)
      expires 5d;
    
    #ssl的相关配置,pem文件的地址
    ssl_certificate  【pem文件的绝对路径】;
    #key文件的绝对路径
    ssl_certificate_key  【key文件的绝对路径】;
    #断开重连时间
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    #ssl协议
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    #首页访问的文件
    location / 
        index  index.php index.html index.htm;
    
    #负载均衡配置
    #location / 
            #proxy_pass http://web/;
    #
    #php-ftm配置
    location ~ \\.php$ 
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    
    #外部框架支持
    #location ~ .+\\.php($|/) 
	    #set $script    $uri;
	    #set $path_info  "/";
	    #if ($uri ~ "^(.+\\.php)(/.+)") 
	        #set $script     $1;
	        #set $path_info  $2;
	    #
	    #fastcgi_pass 127.0.0.1:9000;
	    #fastcgi_index  index.php?IF_REWRITE=1;
	    #include fastcgi_params;
	    #fastcgi_param PATH_INFO $path_info;
	    #fastcgi_param SCRIPT_FILENAME  $document_root/$script;
	    #fastcgi_param SCRIPT_NAME $script;
	#

二、配置详解

  • 上面的配置,监听了80端口和443端口,也就是http协议和https协议
  • 在80端口中配置了自动跳转到https的链接中
  • 其实就是当你使用http访问网站的时候,系统会自动转化为https
  • 而在https的配置中需要有配置ca证书等其他的配置即可

以上是关于nginx配置域名使用http或https访问的主要内容,如果未能解决你的问题,请参考以下文章

nginx配置http访问自动跳转到https

nginx的多域httphttps同时访问配置及http重定向https

nginx https配置多域名共享SSL证书禁止ip访问http强转https

nginx https配置多域名共享SSL证书禁止ip访问http强转https

nginx https配置多域名共享SSL证书禁止ip访问http强转https

Nginx多个域名,https redirect to http