原因:普通用戶無法開啟443端口
在Linux上,使用普通用戶啟動Nginx并監(jiān)聽443端口可能會失敗。這是因為端口號低于1024的端口是受保護(hù)的特權(quán)端口,只有具有管理員權(quán)限的用戶才能使用這些端口。
方案一:普通用戶能夠使用特權(quán)端口權(quán)限設(shè)置(騰訊云部署服務(wù)不建議)
-
使用高于1024的端口:將Nginx配置文件中的端口號修改為高于1024的端口(例如8443),然后使用普通用戶啟動Nginx。這樣,Nginx就可以在指定的端口上監(jiān)聽HTTPS請求。
方法可行,不適用必須使用特權(quán)端口情況
-
使用iptables端口轉(zhuǎn)發(fā):您可以使用iptables工具設(shè)置端口轉(zhuǎn)發(fā)規(guī)則,將外部的443端口轉(zhuǎn)發(fā)到Nginx運行的高于1024的端口上。
騰訊云服務(wù)使用失敗,需要先安裝iptables,本地虛擬機預(yù)計可行
以下是一個示例命令:
sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 8443
上述命令將來自443端口的請求重定向到8443端口(Nginx配置的HTTPS端口)。
- 使用
setcap
命令:使用setcap命令可以為Nginx程序授予特權(quán),允許它以普通用戶身份綁定低于1024的端口。同樣騰訊云服務(wù)器失敗
以下是一個示例命令:
sudo setcap 'cap_net_bind_service=+ep' /nginx/nginx
上述命令將cap_net_bind_service能力授予Nginx可執(zhí)行文件,使其能夠綁定低于1024的端口。
請注意,使用以上方法需要謹(jǐn)慎操作,并確保您有足夠的權(quán)限有root用戶用root用戶,沒有需要有權(quán)限的給普通用戶添加sudou權(quán)限
進(jìn)行相關(guān)配置。另外,使用真實的受信任SSL證書也是建議的,以確保通信的安全性。
方案二 使用root用戶安裝nginx
注意安裝nginx時配置包含SSL模塊
yum install openssl-devel gcc
wget https://nginx.org/download/nginx-1.18.0.tar.gz
tar -xzvf nginx-1.18.0.tar.gz
cd nginx-1.18.0
./configure --prefix=/nginx/nginx --with-http_ssl_module
make
make install
nginx -v
如果SSL模塊成功包含,輸出將顯示–with-http_ssl_module
。
nginx.conf 添加參數(shù):文章來源:http://www.zghlxwxcb.cn/news/detail-490629.html
server {
#SSL 訪問端口號為 443
listen 443 ssl;
server_name mydomin.top;
#證書文件名稱
ssl_certificate /root/nginx/conf/mydomin.top_bundle.crt;
#私鑰文件名稱
ssl_certificate_key /root/nginx/conf/mydomin.top.key;
#請按照以下協(xié)議配置
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#請按照以下套件配置,配置加密套件,寫法遵循 openssl 標(biāo)準(zhǔn)。
# ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_ciphers ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!AESGCM;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
client_max_body_size 20M;
location / {
proxy_pass http://11.32.115.36:8081;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
啟動nginx后查看端口是否啟動成功:文章來源地址http://www.zghlxwxcb.cn/news/detail-490629.html
netstat -nltp|grep 443
到了這里,關(guān)于linux配置https訪問使用443端口方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!