Nginx如何配置Http、Https、WS、WSS
Nginx配置Http
首先,我們探討Nginx如何配置Http。Nginx配置Http是其常用功能之一。在nginx.conf中進行相應配置,如下所示。
upstream message {
server localhost:8080 max_fails=3;
}
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
add_header 'Access-Control-Allow-Origin' '*';
proxy_connect_timeout 10;
}
location /message {
proxy_pass message;
proxy_set_header Host $host:$server_port;
}
}
復制
此時,訪問http://localhost/message,就會被轉(zhuǎn)發(fā)到localhost:8080/message上。
Nginx配置Https
對于對網(wǎng)站安全性要求較高的業(yè)務,可能需要在Nginx配置Https。具體配置信息可以參照以下方式。
upstream message {
server localhost:8080 max_fails=3;
}
server {
listen 443 ssl;
server_name localhost;
ssl_certificate /usr/local/nginx-1.17.8/conf/keys/binghe.pem;
ssl_certificate_key /usr/local/nginx-1.17.8/conf/keys/binghe.key;
ssl_session_timeout 20m;
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;
ssl_verify_client off;
location / {
root html;
index index.html index.htm;
add_header 'Access-Control-Allow-Origin' '*';
proxy_connect_timeout 10;
}
location /message {
proxy_pass message;
proxy_set_header Host $host:$server_port;
}
}
復制
此時訪問https://localhost/message 就會被轉(zhuǎn)發(fā)到http://localhost:8080/message上。
Nginx配置WS
WS的全稱是WebSocket,Nginx配置WebSocket相對簡單。在nginx.conf文件中進行相應配置,即可實現(xiàn)橫向擴展WebSocket服務端的服務能力。
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
upstream wsbackend{
server ip1:port1;
server ip2:port2;
keepalive 1000;
}
server {
listen 20038;
location /{
proxy_http_version 1.1;
proxy_pass wsbackend;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_read_timeout 3600s;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}
復制
此時,訪問ws://localhost:20038 就會被轉(zhuǎn)發(fā)到ip1:port1和ip2:port2上。
Nginx配置WSS
WSS表示W(wǎng)ebSocket + Https,即安全的WebSocket。在配置WS時,已詳細描述了配置細節(jié),此處不再贅述。
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
upstream wsbackend{
server ip1:port1;
server ip2:port2;
keepalive 1000;
}
server{
listen 20038 ssl;
server_name localhost;
ssl_certificate /usr/local/nginx-1.17.8/conf/keys/binghe.com.pem;
ssl_certificate_key /usr/local/nginx-1.17.8/conf/keys/binghe.com.key;
ssl_session_timeout 20m;
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;
ssl_verify_client off;
location /{
proxy_http_version 1.1;
proxy_pass wsbackend;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_read_timeout 3600s;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}
復制
此時,訪問wss://localhost:20038 就會被轉(zhuǎn)發(fā)到ip1:port1和ip2:port2上。
nginx開啟ssl并把http重定向到https的兩種方式
安裝完成后,會有說明提供網(wǎng)站資源和配置文件的存放位置。要整合https,首先需要生成密鑰文件,然后配置nginx.conf文件,包括密鑰文件路徑、證書文件和私有密鑰文件路徑等。開啟http并重定向到https的方法有:4.1 開啟http:將listen 80;添加到listen 443 ssl;中,或者新建一個server配置。4.2 重定向到...
ngnix配置跨域(跨域問題nginx)
nginx配置ssl使用https(解決前端跨域問題)因為以后要給nginx使用。每次reloadnginx配置時候都要你驗證這個PAM密碼的.由于生成時候必須輸入密碼,你可以輸入后再刪掉。查看nginx是否安裝了ssl模塊通過nginx-V查看,如果出現(xiàn)(configurearguments:--with-http_ssl_module),則已安裝是否安裝了ssl模塊。配置nginx拷貝...
nginx配置詳解nginx使用方法圖解
proxy_pass http:\/\/tomcat:8080\/index } 第二個必選規(guī)則是處理靜態(tài)文件請求,這是nginx作為http服務器的強項 有兩種配置模式,目錄匹配或后綴匹配,任選其一或搭配使用 location ^~ \/static\/ { root \/webroot\/static\/;} location ~* \\.(gif|jpg|jpeg|png|css|js|ico)$ { root \/webroot\/res\/;}...
Nginx之正向代理與反向代理進階(支持https)
Nginx在之前的教程中展示了正向代理和反向代理的功能,但遺憾的是,僅限于http協(xié)議,不支持https。接下來,我們將探討如何為Nginx添加對https的支持。1. Nginx正向代理(http vs https)首先,回顧正向代理的http配置,當嘗試訪問https:\/\/www.baidu.com時,由于Nginx默認不支持https,會返回400錯誤。為解...
nginx怎么配置ssl可以即允許http訪問也允許https訪問
同時通過多個listen指令監(jiān)聽80和443端口,443端口后面加上ssl聲明 并配置證書及私鑰信息 當客戶端使用https時,服務器會自動發(fā)送證書,并進行ssl握手 當客戶端使用http時,服務器使用的仍是http方式響應
Nginx如何配置才能正常使用
2. 在下拉菜單中,選擇 "Internet選項",這將打開一個新的窗口。3. 在新的窗口中,找到并進入 "高級" 選項。在這一部分,確保 "通過代理連接使用HTTP 1.1" 選項被勾選,然后保存設置。了解了基本的瀏覽器配置后,Nginx是一個強大的工具。它是一個高性能的HTTP和反向代理服務,也支持IMAP\/POP3\/...
ubuntu利用nginx配置https服務器
Ubuntu環(huán)境下,配置Nginx為HTTPS服務器主要步驟如下:首先,使用 nginx -V 檢查 Nginx 是否已編譯有 SSL 支持。如果缺少 --with-http_ssl_module 參數(shù),需重新編譯 Nginx 添加此支持。通過 apt-get install openssl 安裝 SSL 工具。隨后在 \/etc\/nginx\/ 目錄創(chuàng)建私鑰文件 server.key 通過命令:openssl ...
Nginx詳解03-HTTP服務器配置2
本文主要探討Nginx HTTP服務器的高級功能配置,重點介紹HTTPS、HTTP2、二進制分幀、多路復用、服務器推送、頭部壓縮、REFERER模塊等。HTTPS方面,Nginx通過內(nèi)置SSL模塊實現(xiàn),支持將HTTP請求重定向至HTTPS,確保數(shù)據(jù)傳輸安全。HTTP2模塊則簡化了HTTP協(xié)議,二進制分幀技術(shù)使得請求與響應更為高效,通過流與幀進行...
如何用 Nginx 配置透明 HTTP 和 HTTPS 代理
因為 nginx 不支持 CONNECT,收到 “CONNECT \/:443 HTTP\/1.1” 后會報一個包含“client sent invalid request while reading client request line,” 的錯誤。因為 CONNECT 是正向代理的特性,據(jù)說也沒有計劃支持。如果覺得 squid 比較難上手,也不夠輕量,可以試試類似的。以下都支持 http\/https,t...
如何使用nginx給自己開發(fā)的服務配置域名,讓外網(wǎng)用戶可以訪問
以上可以條件都具備之后,修改服務器上的nginx配置即可。修改nginx配置如下:原配置(默認配置):server { listen 80;server_name localhost;} 修改后配置:server { listen 80;server_name 你的域名.cn;} 作用是當用戶訪問域名"http:\/\/你的域名.cn"時調(diào)轉(zhuǎn)到127.0.0.1:8989上 同時也...
相關(guān)評說:
海拉爾區(qū)公差: ______ 1、直接IP訪問2、建立一個內(nèi)網(wǎng)的dns服務器
海拉爾區(qū)公差: ______ 確保安裝 nginx 時 ./configure 有加入 --with-http_perl_module 這一項, 然后在 nginx.conf 配置文件的http{}內(nèi)、server{}前面加入:(加入內(nèi)容在結(jié)構(gòu)上與 server{} 并列) perl_set $urldecode 'sub {my $inf = shift; my $url = $inf-args; my $inx = index($...
海拉爾區(qū)公差: ______ 您好! 請您按照下面的指南配置SSL證書和http強制跳轉(zhuǎn)https Nginx版本 在配置80端口的文件里面,寫入以下內(nèi)容即可. server { listen 80; server_name localhost; rewrite ^(.*)$ https://$host$1 permanent; location / { root html; index ind.
海拉爾區(qū)公差: ______ 這里以配置2個站點(2個域名)為例,n 個站點可以相應增加調(diào)整,假設: IP地址: *.*.*.* 域名1 example1.com 放在 /www/example1 域名2 example2.com 放在 /www/example2 配置 nginx virtual hosting 的基本思路和步驟如下: 把2個站點 ...
海拉爾區(qū)公差: ______ 1. 具體的代碼如下. 2. user www www; worker_processes auto; #error_log /usr/local/nginx/logs/nginx_error.log debug; pid /usr/local/nginx/nginx.pid; worker_rlimit_nofile 65535; events { use epoll; worker_connections 65535; } http { include ...
海拉爾區(qū)公差: ______ 先安裝編譯依賴的一些組件 復制代碼 代碼如下:yum install pcre pcre-devel openssl openssl-devel -y1、解壓程序包 復制代碼 代碼如下:tar xf nginx-1.10.0.tar.gz cd nginx-1.10.02、預編譯配置參數(shù) 復制代碼 代碼如下:./configure --user=www \--...
海拉爾區(qū)公差: ______ 如已經(jīng)安裝好了nginx相關(guān)的環(huán)境,現(xiàn)僅展示相關(guān)的反向代理的配置.默認nginx.confi的配置,可能與下面的圖會有不同,重要的是后面的配置. 已經(jīng)安裝好了nginx相關(guān)的環(huán)境,現(xiàn)僅展示相關(guān)的反向代理的配置.默認nginx.confi的配置,可能與...
海拉爾區(qū)公差: ______ Nginx首先選定由哪一個虛擬主機來處理請求.讓我們從一個簡單的配置(其中全部3個虛擬主機都在端口*:80上監(jiān)聽)開始: server { listen 80; server_name example.org www.example.org; ... } server { listen 80; server_name example.net www....