nginxhttps代理
⑴ 如何用 Nginx 配置透明 HTTP 和 HTTPS 代理
作為 web server nginx 當然是可以處理 ssl 的,但作為 proxy 則是不行的。
因為 nginx 不支持 CONNECT,收到 「CONNECT /:443 HTTP/1.1」 後會報一個包含「client sent invalid request while reading client request line,」 的錯誤。
因為 CONNECT 是正向代理的特性,據說也沒有計劃支持。
如果覺得 squid 比較難上手,也不夠輕量,可以試試類似的。
以下都支持 http/https,
trafficserver http://trafficserver.apache.org/docs/v2/admin/intro.htm
tinyproxy https://banu.com/tinyproxy/
基於 Python 的:
exaproxy http://code.google.com/p/exaproxy/
mitmproxy http://mitmproxy.org/
tinyhttpproxy http://www.oki-osk.jp/esc/python/proxy/ 就一個文件,06年以後就沒有更新了
還有跨平台且有GUI的 Charles http://www.charlesproxy.com/
Charles 實在是太棒了!但還是不如fiddler方便,前者還是更側重 抓包而不是代理,還是 fiddler 更強大些。如果有條件還是在 windows 上開 fiddler 的代理吧。
⑵ nginx在只做反向代理訪問HTTPS站點的情況下,nginx本身用配證書嗎
可以在nginx上配置證書,後端伺服器就不再需要配置證書了。
比如說,現在1台nginx,兩台後內端伺服器,如容果在nginx上配置證書,那麼直需要向證書機構申請一次即可,然後安裝到nginx那台伺服器,然後再反向代理到後端伺服器的80埠。另一種是nginx只做反代(443),兩台後端伺服器都安裝證書。這樣就需要配置2台伺服器。相對來說在nginx上配置節約時間。
⑶ Nginx https 代理
您好!
可以讓Gworg提供HTTPS協議並且代理,使用Nginx做反代理,可以直接顯示自己的URL,內容是B站的業務。
⑷ 用nginx做代理不能訪問https,用apache卻可以,怎麼回事
請正確配置
nginx是支持https服務的
請參照官方範例配置
此處不方便貼代碼
記住,nginx的https配置參數和apache不一樣,語法不同
⑸ nginx 實現https代理轉發 轉發成功後很多js,css等載入不出來,報404
您好,nginx伺服器SSL證書配置如下,請你自查,下面是用的沃通SSL測試證書,你可要申請沃通免費SSL證書用。
打開 Nginx 安裝目錄下 conf 目錄中的 nginx.conf 文件找到
# HTTPS server
#
#server {
# listen 443;
# server_name localhost;
# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_timeout 5m;
# ssl_protocols SSLv2 SSLv3 TLSv1;
# ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
將其修改為 :
server {
listen 443;
server_name localhost;
ssl on;
ssl_certificate sslkey/wosign.com.crt; (證書公鑰)
ssl_certificate_key sslkey/wosign.com.key; (證書私鑰)
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ALL:!ADH:!EXPORT56:-RC4+RSA:+HIGH:+MEDIUM:!EXP;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
保存退出,並重啟 Nginx。通過 https 方式訪問您的站點,測試站點證書的安裝配置。
⑹ nginx現在可以做https的正向代理了么
就是給nginx配置數字證書唄,網上有相關教程啊,而且,你購買證書時商家會給你相關的教程資料,有Apache的,也有nginx的。如果還有問題可以咨詢他們客服。
⑺ nginx怎麼把https請求代理到http後台
後端upstream寫好都一樣的,只不過http和https寫兩個server配置,監聽不同的埠,location到對應的upstream去就可以了。
https需要配置你域名的CA、密鑰等。
⑻ 如何用 Nginx 配置透明 HTTP 和 HTTPS 代理
1、首先需要配置站點的WoSign SSl證書
打開Nginx安裝目錄下conf目錄中的nginx.conf文件 找到
# HTTPS server
#
#server {
# listen 443;
# server_name localhost;
# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_timeout 5m;
# ssl_protocols SSLv2 SSLv3 TLSv1;
# ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
將其修改為 :
server {
listen 443;
server_name localhost;
ssl on;
ssl_certificate sslkey/public.cer; (證書公鑰)
ssl_certificate_key sslkey/private.key; (證書私鑰)
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
保存退出,並重啟Nginx。
通過https方式訪問您的站點,測試站點證書的安裝配置。
3、配置強身份認證
1、 修改nginx.conf文件
如果要求客戶採用客戶證書認證方式,可以在原來的配置下增加如下參數:
server {
......
......
......
ssl_verify_client on 要求SSL客戶證書認證。
ssl_client_certificate trust.cer 簽發客戶證書的CA證書,用來驗證客戶證書。
ssl_verify_depth 3 SSL客戶證書認證鏈長度。
}
4、重啟站點使用您的客戶端證書進行登陸測試
⑼ 如何用 Nginx 配置透明 HTTP 和 HTTPS 代理
Nginx ("engine x") 是一個高性能的 HTTP 和 反向代理 伺服器,也是一個 IMAP/POP3/SMTP 代理伺服器。 Nginx 是由 Igor Sysoev 為俄羅斯訪問量第二的 Rambler.ru 站點開發的,,因它的穩定性、豐富的功能集、示例配置文件和低系統資源的消耗而聞名。
1、首先需要配置站點的WoSign SSl證書
打開Nginx安裝目錄下conf目錄中的nginx.conf文件 找到
# HTTPS server
#
#server {
# listen 443;
# server_name localhost;
# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_timeout 5m;
# ssl_protocols SSLv2 SSLv3 TLSv1;
# ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
將其修改為 :
server {
listen 443;
server_name localhost;
ssl on;
ssl_certificate sslkey/public.cer; (證書公鑰)
ssl_certificate_key sslkey/private.key; (證書私鑰)
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
保存退出,並重啟Nginx。
通過https方式訪問您的站點,測試站點證書的安裝配置。
3、配置強身份認證
1、 修改nginx.conf文件
如果要求客戶採用客戶證書認證方式,可以在原來的配置下增加如下參數:
server {
......
......
......
ssl_verify_client on 要求SSL客戶證書認證。
ssl_client_certificate trust.cer 簽發客戶證書的CA證書,用來驗證客戶證書。
ssl_verify_depth 3 SSL客戶證書認證鏈長度。
}
4、重啟站點使用您的客戶端證書進行登陸測試
⑽ 怎麼檢查nginx 是否支持https
nginx當正向代理的時抄候,通過代理訪襲問https的網站會失敗,而失敗的原因是客戶端同nginx代理伺服器之間建立連接失敗,並非nginx不能將https的請求轉發出去。因此要解決的問題就是客戶端如何同nginx代理伺服器之間建立起連接。有了這個思路之後,就可以很簡單的解決問題。我們可以配置兩個SERVER節點,一個處理HTTP轉發,另一個處理HTTPS轉發,而客戶端都通過HTTP來訪問代理,通過訪問代理不同的埠,來區分HTTP和HTTPS請求。
#HTTP
server{
resolver 8.8.8.8;
access_log /data/logs/nginx/access_proxy.log main;
listen 80;
location / {
root html;
index index.html