【配置方法】
按照http://www.wtbis.cn/q/5796
的方法進行了配置,并且在webman的config/server.php中設置了監(jiān)聽443端口:
'listen' => 'http://0.0.0.0:443',
目前實現(xiàn)了https的訪問。
要注意的是:這里如果是https:開頭,反而會報錯,導致webman啟動不了:Uncaught Exception: class \Protocols\Https not exist)。
我的問題:
1、當在瀏覽器輸入http開頭的地址時,就報錯了:
無法訪問此網(wǎng)站
拒絕了我們的連接請求。
請試試以下辦法:
檢查網(wǎng)絡連接
檢查代理服務器和防火墻
ERR_CONNECTION_REFUSED
2、有什么方法可以讓用戶輸入http 開頭的地址訪問80端口時不報錯,并且能自動跳轉到https 開頭的地址呢?
3、這種情況下,webman能同時監(jiān)聽80、443兩個端口么?
用nginx代理,80端口自動跳轉到443端口,也就是http跳轉到https,完整nginx配置類似如下。你得有域名的https證書才行
upstream webman {
server 127.0.0.1:8787;
}
server {
server_name example.com www.example.com;
root /home/www/www.example.com/public;
if ($host = example.com) {
return 301 https://www.$host$request_uri;
}
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
if (!-f $request_filename){
proxy_pass http://webman;
}
}
listen 443 ssl;
ssl_certificate /your/path/of/www.example.com.pem;
ssl_certificate_key /your/path/of/www.example.com.key;
ssl_session_cache shared:le_nginx_SSL:1m;
ssl_session_timeout 1440m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS";
}
server {
listen 80;
server_name example.com www.example.com;
rewrite ^/(.*)$ https://www.example.net/$1 permanent;
}