心仪明月 發表於 2020-3-26 17:29:00

nginx 配置多个 https 域名访问

<h2 id="需要此操作的原因">需要此操作的原因</h2>
<ol>
<li>在服务器上部署了 halo blog 以后,这次需要部署另外一个项目,但是又不想使用 ip + port,因此选择使用 nginx 配置多个域名访问。</li>
</ol>
<h2 id="nginx-配置">nginx 配置</h2>
<pre><code class="language-conf">server {
#    listen 80;
    listen       443 ssl http2 default_server;
      listen       [::]:443 ssl http2 default_server;
      server_name_;
      root         /usr/share/nginx/html;

      ssl_certificate "pem";
      ssl_certificate_key "key";
      ssl_session_cache shared:SSL:1m;
      ssl_session_timeout10m;
      ssl_ciphers PROFILE=SYSTEM;
      ssl_prefer_server_ciphers on;

    server_name域名;

    client_max_body_size 1024m;

    location / {
      proxy_set_header HOST $host;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

      proxy_pass http://ip:port/;
    }
}


server {
#    listen 80;
    listen       443 ssl http2 default_server;
      listen       [::]:443 ssl http2 default_server;
      server_name_;

      ssl_certificate "pem";
      ssl_certificate_key "key";
      ssl_session_cache shared:SSL:1m;
      ssl_session_timeout10m;
      ssl_ciphers PROFILE=SYSTEM;
      ssl_prefer_server_ciphers on;

    server_name域名;

    client_max_body_size 1024m;

    location / {
      # if ($uri ~ ){
      #   rewrite ^(.*)$ $url last;
      # }
      root /etc/nginx/html/dist;
    }

    location = 访问路径 {
      proxy_pass http://ip:port;
    }

    error_page   500 502 503 504/50x.html;
    location = /50x.html {
      root   html;
    }
}
</code></pre>
<h2 id="上面的配置修改好以后需要注意的地方">上面的配置修改好以后需要注意的地方</h2>
<ol>
<li>这里使用 nginx -t 测试 conf 配置文件会出现错误</li>
</ol>
<pre><code class="language-shell"> a duplicate default server for 0.0.0.0:443
</code></pre>
<ol start="2">
<li>解决错误的方法,将下图中选中的红色配置信息删掉即可,删除任意一个或者两个删除都可以<br>
<img src="https://blog.kele.red/upload/2020/2/image-a216dc0e276c4648be3558a648c0e79e.png" alt="image.png" loading="lazy"></li>
</ol>
<h2 id="nginx-带给我的好处">nginx 带给我的好处</h2>
<ol>
<li>仅开放一个端口,其他端口均从 nginx 转发,安全性提高了</li>
<li>可配置多域名访问不同的项目</li>
<li>通过 nginx 代理访问 Java 后端,可以避免跨域问题</li>
</ol><br><br>
来源:https://www.cnblogs.com/gaofangye/p/12575780.html
頁: [1]
查看完整版本: nginx 配置多个 https 域名访问