時(shí)間:2023-02-07 19:48:01 | 來源:建站知識(shí)
時(shí)間:2023-02-07 19:48:01 來源:建站知識(shí)
平常開發(fā)要求比較低, 依然在用 HTTP, 但到了微信小程序就不行了, 騰訊和蘋果都對(duì) API 提出了 HTTPS 的要求. 尤其是蘋果, 不僅要求 HTTPS, 還要求TLS
協(xié)議版本要在 1.2 以上, 這又被稱為 App Transport Security(ATS).application.yml
中增加了兩行配置而已.server: port: 8080 tomcat: protocol_header: x-forwarded-proto use-forward-headers: true address: 127.0.0.1證書申請(qǐng)/購買#在域名的基本信息頁, 點(diǎn)擊免費(fèi)開啟 SSL 證書, 輸入相應(yīng)的域名, 點(diǎn)擊「申請(qǐng)」即可申請(qǐng)免費(fèi)的 DV SSL 證書, 還需要做一些簡(jiǎn)單的信息補(bǔ)全等, 即可提交申請(qǐng). 如果備案信息都齊全的話, 很快就可以驗(yàn)證成功, 在證書管理頁面即可查看證書.
pem
和 key
, 下載完上傳到服務(wù)器.rewrite
, 這樣, 當(dāng)訪問http://example.cn
會(huì)自動(dòng)轉(zhuǎn)發(fā)到https://example.cn
. server { listen 80; # redirect to 443 server_name AAA.example.cn www.AAA.example.cn; rewrite ^(.*)$ https://$host$1 permanent; } server { listen 80; # redirect to 443 server_name BBB.example.cn www.BBB.example.cn; rewrite ^(.*)$ https://$host$1 permanent; }
然后就是真正的 https 部分了, 雖然域名不同, 但都監(jiān)聽 443 端口, 但有著不同的 server_name
, 這樣當(dāng)收到請(qǐng)求時(shí)就可以根據(jù)請(qǐng)求的 server_name
不同來轉(zhuǎn)發(fā)到不同的服務(wù).8090
、8091
即可. server { listen 443 ssl; server_name AAA.example.cn www.AAA.example.cn; ssl_certificate "/home/yushan/demontf/2076603_AAA.example.cn.pem"; ssl_certificate_key "/home/yushan/demontf/2076603_AAA.example.cn.key"; location / { proxy_pass http://127.0.0.1:8090; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_redirect default; } } server { listen 443 ssl; # redirect to https server_name BBB.example.cn www.BBB.example.cn; ssl_certificate "/home/yushan/demontf/2005538_BBB.example.cn.pem"; ssl_certificate_key "/home/yushan/demontf/2005538_BBB.example.cn.key"; location / { proxy_pass http://127.0.0.1:8091; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_redirect default; } }
示例如下user nginx;worker_processes 1; error_log /var/log/nginx/error.log warn;pid /var/run/nginx.pid; events { # 最大連接數(shù) worker_connections 1024;} http { include /etc/nginx/mime.types; default_type application/octet-stream; # 用來設(shè)置日志格式; 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 /var/log/nginx/access.log main; # 指定是否使用sendfile系統(tǒng)調(diào)用來傳輸文件。 sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; upstream appointment { # 請(qǐng)將xxx.xxx.xxx.xxx:8081 更換稱自己的IP地址 server xxx.xxx.xxx.xxx:8081 weight=1 max_fails=2 fail_timeout=20; } server { listen 80; # 注意這里域名改寫成自己的域名!!! server_name www.域名.com; # http請(qǐng)求時(shí)直接重定向到https rewrite ^(.*)$ https://${server_name}$1 permanent; root /usr/share/nginx/html; index index.html index.htm; location / { } } # Settings for a TLS enabled server.# server { listen 443 ssl; listen [::]:443 ssl; server_name localhost; ssl on; # root 根目錄配置,這里設(shè)置的是 location/ 匹配訪問路徑的上一層目錄,可根據(jù)需要重新配置 root /usr/share/nginx/html; index index.html index.htm; #證書文件名稱 注意證書的放置位置 ssl_certificate cert/a.crt; #私鑰文件名稱 ssl_certificate_key cert/a.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } } server { # 二級(jí)域名的SSL配置 listen 443 ssl; # 注意這里域名改寫成自己的域名!!! server_name api.域名.com; ssl on; #證書文件名稱 注意證書的放置位置 ssl_certificate cert/api.crt; #私鑰文件名稱 ssl_certificate_key cert/api.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { # 注意這里改寫成自己的域名!!! # 把8100端口映射到二級(jí)域名下,完成二級(jí)域名HTTPS proxy_pass http://www.域名.com:8100; proxy_set_header Host $host; # 獲取請(qǐng)求的ip地址 proxy_set_header X-real-ip $remote_addr; # 獲取請(qǐng)求的多級(jí)ip地址,當(dāng)請(qǐng)求經(jīng)過多個(gè)反向代理時(shí),會(huì)獲取多個(gè)ip,英文逗號(hào)隔開 } root /usr/share/nginx/html; index index.html index.htm; error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } } server { # 配置8100端口,用于二級(jí)域名使用 listen 8100 default_server; listen [::]:8100 default_server; server_name _; # root 根目錄配置,這里設(shè)置的是端口8100 location/ 匹配訪問路徑的上一層目錄,可根據(jù)需要重新配置 root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } } include /etc/nginx/conf.d/*.conf;}
關(guān)鍵詞:配置
客戶&案例
營銷資訊
關(guān)于我們
微信公眾號(hào)
版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。