3分でリバースエージェントに搭載されたGogsにhttpsサービス(nginx)を追加します。

1875 ワード

一、環境
私はGogsを阿里雲学の生命力に架けて、CentOS 7.4 x 64を使って、宝塔Linuxパネルを利用してlnmpの運行環境をインストールしました。これまでhttpsが追加されていなかった時は、nginxの逆エージェントを利用して、80ポートを3000ポート(Gogsのデフォルトサービスポートは3000)に転送すれば、構築されたGogsに直接アクセスできるようになりました。 すべてあなたのためにgogsのドメイン名を訪問します。
server {
    listen 80;
    server_name www.host.com;

    location / {
        proxy_pass http://localhost:3000;
    }
}
 
二、Httpsを追加する
2.1、HTTPS証明書を申請し、証明書に関するファイルをダウンロードする
アリ雲で関連情報を記入して申請したら、圧縮袋にダウンロードできます。この中にfileName.pem/fileName.keyという二つのファイルが含まれています。
2.2、Gogsプロファイルの変更
FXtpまたは他のツールを開き、gogsのインストールディレクトリでcustom/conf/ap.iniファイルに下記の構成オプションを修正します。
[server]
PROTOCOL = https
#       https://
ROOT_URL = https://www.host.com/
#    
CERT_FILE = custom/https/fileName.pem
KEY_FILE = custom/https/fileName.pem
3、nginx逆代理配置を変更する
以前のnginx逆エージェントは以下の通りです。
server {
    listen 80;
    server_name www.host.com;

    location / {
        proxy_pass http://localhost:3000;
    }
}
いくつかの設定を追加します。
server {
    listen 443;
    server_name www.host.com;
    ssl on;
	ssl_certificate /home/git/gogs/custom/https/fileName.pem;
	ssl_certificate_key /home/git/gogs/custom/https/fileName.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 / {
        #       http://   https://
        proxy_pass https://localhost:3000;
    }
}
server {
	#HTTP  HTTPS
    listen  80;
    server_name www.host.com;
    rewrite ^(.*)$  https://$host$1 permanent;
}
修正後、nginxを再起動したらhttpsが楽しめます。
 
心得
実は、2.2のこのステップが完了したらhttps:/あなたのIPアドレスにアクセスできます。3000見ました。httpsは実際にオープンしました。つまり、ドメイン名であなたのgogsに訪問する必要がないなら、直接3000ポートを開放して、2.2ステップを実行すればいいです。
しかし、私はドメイン名を使ってポート転送を行うために開放443と80です。このようなメリットは、80ポートを開放すれば、直接にあなたのサイトにアクセスできます。