Linux上Nginx中開啟SSL模組,實現Https訪問
Linux上Nginx中開啟SSL模組,配置Https訪問方式
一、Nginx簡介
1.Nginx是一款輕量級、高效能的web伺服器/反向代理伺服器,能實現負載均衡。
2.負載均衡的方式有:輪詢、權重(weight)、熱備(backup)以及IP地址Hash。
二、主題業務背景
一般專案正式上線後,不會再使用伺服器的ip地址來訪問專案,而是使用事先申請好的域名(該域名繫結IP地址)來訪問,這樣一來Nginx作為代理伺服器需要開啟SSL模組,就需要在 nginx.conf 檔案進行相關SSL證照的配置以便Nginx實現Https訪問,這樣大家都可以使用域名隨地訪問我們的專案了。
三、Nginx實現Https方式前期準備
SSL證照申請
Nginx配置檔案中需配置SSL證照的兩種pem 和 key格式的檔案路徑,要拿到這個兩個格式檔案,首先得使用你的域名成功到申請證照。
Nginx需要開啟SSL模組
1.要實現你的Nginx實現Https訪問,首先你的Nginx需要開啟SSL模組。
2.開啟SSL模組有兩種方式:nginx安裝時就開啟該模組、nginx安裝成功後再單獨開啟此模組。兩種方式開啟的詳細步驟大家可以搜尋相關文章。
3.推薦開啟SSL兩種方式參考博文:
https://blog.csdn.net/qq_42751248/article/details/109326646
https://www.cnblogs.com/ghjbk/p/6744131.html
四、Nginx中配置Https
配置前介紹
為了便於更好理解我的nginx.conf檔案裡的內容,我這裡簡單介紹一下我的專案:前後端分離的架構,前端是vue專案,後臺是SpringBoot專案,由於SpringBoot框架內嵌Tomcat,因此不用再在伺服器上安裝Tomcat,直接本地打成 jar 包上傳至服務,使用命令 “nohup java -jar ***.jar &” 直接啟動後端工程即可,前端工程本地打成靜態工程上傳到伺服器特定的目錄下即可。
nginx.conf配置詳情
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
# HTTPS server
server {
listen 443 ssl;
#域名
server_name 域名名稱;
client_max_body_size 1024M;
#填寫SSL證照的兩個格式檔案的絕對路徑 cert資料夾存放這兩種檔案
#cert資料夾位於nginx安裝路徑/usr/local/nginx/conf下
ssl_certificate cert/******.pem;
ssl_certificate_key cert/******.key;
#以下都是基礎配置 照寫即可
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
#前端打包後的靜態工程存放路徑
root /usr/local/app/*****;
#預設訪問index.html
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
#所有的帶prod-api請求進入
location /prod-api/ {
#proxy_set_header Host $http_host;
#proxy_set_header X-Real-IP $remote_addr;
#proxy_set_header REMOTE-HOST $remote_addr;
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#反向代理地址 由於我的後端工程也是在此伺服器上,所以是localhost
#如果你反向代理ip地址不是localhost 請填寫具體ip地址 並開啟該location註釋掉的proxy_set_header
proxy_pass http://localhost:8080/;
}
}
}
相關文章
- nginx配置ssl實現https訪問 小白文NginxHTTP
- apache下開啟ssl訪問,即httpsApacheHTTP
- 寶塔開啟ssl後https訪問不了HTTP
- Nginx使用SSL模組配置httpsNginxHTTP
- nginx使用ssl模組配置HTTPS支援NginxHTTP
- 在Drupal上安裝SSL證書啟用HTTPS加密訪問的教程HTTP加密
- nginx開啟ssl並把http重定向到httpsNginxHTTP
- nginx配置SSL證書實現https服務NginxHTTP
- 鐵威馬NAS新增SSL證書實現HTTPS安全訪問HTTP
- Linux下Nginx安裝並開啟SSLLinuxNginx
- nginx開啟HSTS讓瀏覽器強制跳轉HTTPS訪問Nginx瀏覽器HTTP
- HTTPS訪問:weblogic下配置SSLHTTPWeb
- nginx 專案配置 https 訪問NginxHTTP
- nginx配置https協議訪問NginxHTTP協議
- Nginx採用https加密訪問後出現的問題NginxHTTP加密
- tomcat中開啟的對SSL(https)的支援TomcatHTTP
- Nginx配置VUE專案Https訪問NginxVueHTTP
- 如何用nginx配置https加密訪問?NginxHTTP加密
- Linux中開啟MySQL遠端訪問功能LinuxMySql
- Nginx的SSL配置優化 – HTTPS SSL 教程Nginx優化HTTP
- VuePress 部落格如何開啟本地 HTTPS 訪問VueHTTP
- nginx docker容器配置https(ssl)NginxDockerHTTP
- Holer實現外網訪問本地NginxNginx
- nginx+lua(OpenResty),實現訪問限制NginxREST
- 教你如何給 Discuz! X3.1/3.2 開啟https(SSL)支援! – HTTPS SSL 教程HTTP
- nginx配置ssl加密(單/雙向認證、部分https) – HTTPS SSL 教程Nginx加密HTTP
- 如何在鐵威馬NAS上使用自己的域名實現HTTPS訪問HTTP
- phpstudy配置本地ssl證照,訪問https://127.0.0.1PHPHTTP127.0.0.1
- 使用 Nginx Proxy Manager反向代理開啟SSLNginx
- 簡易實現 HTTPS (一) 自動實現 sslHTTP
- Nginx+Tomcat Https SSL部署方案NginxTomcatHTTP
- Java通過SSLEngine與NIO實現HTTPS訪問JavaHTTP
- 內網IP地址實現HTTPS加密訪問教程內網HTTP加密
- linux tomcat 開通443 (用https安全訪問)LinuxTomcatHTTP
- nginx+騰訊雲免費ssl證書+阿里雲ECS實現Https配置Nginx阿里HTTP
- 訪問 HTTPS 網站時的 SSL 錯誤解決方案HTTP網站
- 使用免費SSL證書讓網站支援HTTPS訪問網站HTTP
- Nginx配置域名同時支援 https 和 http 訪問NginxHTTP