deploy: 5c365f41d1
This commit is contained in:
@@ -0,0 +1 @@
|
||||
import{_ as e,c as t,o,d as n}from"./app.2c402e15.js";const m='{"title":"Let the Agent start/on-line, and the self-test process of the problem","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q2.md"}',r={},a=n('<h4 id="let-the-agent-start-on-line-and-the-self-test-process-of-the-problem" tabindex="-1">Let the Agent start/on-line, and the self-test process of the problem <a class="header-anchor" href="#let-the-agent-start-on-line-and-the-self-test-process-of-the-problem" aria-hidden="true">#</a></h4><ol><li>Run <code>//opt/nezha/agent/nezha-agent -s IP/Domin(Panel IP or Domain not connected to CDN):port(Panel RPC port) -p secret(Agent Secret) -d</code> Check the logs to see if the timeout is due to a DNS problem or poor network</li><li><code>nc -v domain/IP port(Panel RPC port)</code> or <code>telnet domain/IP port(Panel RPC port)</code> to check if it' s a network problem, check the inbound and outbound firewall between the local machine and the panel server, if you can' t determine the problem you can check it with the port checking tool provided by <a href="https://port.ping.pe/" target="_blank" rel="noopener noreferrer">https://port.ping.pe/</a></li><li>If the above steps work and the Agent is online, please try to turn off SELinux on the panel server. <a href="https://www.google.com/search?q=How+to+disable+SELinux" target="_blank" rel="noopener noreferrer">How to close SELinux\uFF1F</a></li></ol>',2),s=[a];function l(i,c,h,p,d,_){return o(),t("div",null,s)}var u=e(r,[["render",l]]);export{m as __pageData,u as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as e,c as t,o,d as n}from"./app.2c402e15.js";const m='{"title":"Let the Agent start/on-line, and the self-test process of the problem","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q2.md"}',r={},a=n("",2),s=[a];function l(i,c,h,p,d,_){return o(),t("div",null,s)}var u=e(r,[["render",l]]);export{m as __pageData,u as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as e,c as t,o as a,a as o}from"./app.2c402e15.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q2.md"}',s={},r=o("p",null,"q2",-1),n=[r];function c(_,d,i,p,l,f){return a(),t("div",null,n)}var h=e(s,[["render",c]]);export{m as __pageData,h as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as e,c as t,o as a,a as o}from"./app.2c402e15.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q2.md"}',s={},r=o("p",null,"q2",-1),n=[r];function c(_,d,i,p,l,f){return a(),t("div",null,n)}var h=e(s,[["render",c]]);export{m as __pageData,h as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as e,c as t,o as a,a as o}from"./app.2c402e15.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q3.md"}',s={},r=o("p",null,"q3",-1),n=[r];function c(_,d,i,p,l,f){return a(),t("div",null,n)}var h=e(s,[["render",c]]);export{m as __pageData,h as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as e,c as t,o as a,a as o}from"./app.2c402e15.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q3.md"}',s={},r=o("p",null,"q3",-1),n=[r];function c(_,d,i,p,l,f){return a(),t("div",null,n)}var h=e(s,[["render",c]]);export{m as __pageData,h as default};
|
||||
@@ -0,0 +1,25 @@
|
||||
import{_ as e,c as n,o as a,d as s}from"./app.2c402e15.js";const g='{"title":"Reverse Proxy gRPC Port (support Cloudflare CDN)","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q3.md"}',t={},o=s(`<h4 id="reverse-proxy-grpc-port-support-cloudflare-cdn" tabindex="-1">Reverse Proxy gRPC Port (support Cloudflare CDN) <a class="header-anchor" href="#reverse-proxy-grpc-port-support-cloudflare-cdn" aria-hidden="true">#</a></h4><p>Use Nginx or Caddy to reverse proxy gRPC</p><ul><li>Nginx configuration files</li></ul><div class="language-nginx"><pre><code><span class="token directive"><span class="token keyword">server</span></span> <span class="token punctuation">{</span>
|
||||
<span class="token directive"><span class="token keyword">listen</span> <span class="token number">443</span> ssl http2</span><span class="token punctuation">;</span>
|
||||
<span class="token directive"><span class="token keyword">listen</span> [::]:443 ssl http2</span><span class="token punctuation">;</span>
|
||||
<span class="token directive"><span class="token keyword">server_name</span> data.example.com</span><span class="token punctuation">;</span> <span class="token comment"># The domain name where the Agent connects to Dashboard</span>
|
||||
|
||||
<span class="token directive"><span class="token keyword">ssl_certificate</span> /data/letsencrypt/fullchain.pem</span><span class="token punctuation">;</span> <span class="token comment"># Your domain certificate path</span>
|
||||
<span class="token directive"><span class="token keyword">ssl_certificate_key</span> /data/letsencrypt/key.pem</span><span class="token punctuation">;</span> <span class="token comment"># Your domain's private key path</span>
|
||||
|
||||
<span class="token directive"><span class="token keyword">underscores_in_headers</span> <span class="token boolean">on</span></span><span class="token punctuation">;</span>
|
||||
|
||||
<span class="token directive"><span class="token keyword">location</span> /</span> <span class="token punctuation">{</span>
|
||||
<span class="token directive"><span class="token keyword">grpc_read_timeout</span> <span class="token number">300s</span></span><span class="token punctuation">;</span>
|
||||
<span class="token directive"><span class="token keyword">grpc_send_timeout</span> <span class="token number">300s</span></span><span class="token punctuation">;</span>
|
||||
<span class="token directive"><span class="token keyword">grpc_pass</span> grpc://localhost:5555</span><span class="token punctuation">;</span>
|
||||
<span class="token punctuation">}</span>
|
||||
<span class="token punctuation">}</span>
|
||||
</code></pre></div><ul><li>Caddy configuration files</li></ul><div class="language-"><pre><code>data.example.com:443 { # The domain name where the Agent connects to Dashboard
|
||||
reverse_proxy {
|
||||
to localhost:5555
|
||||
transport http {
|
||||
versions h2c 2
|
||||
}
|
||||
}
|
||||
}
|
||||
</code></pre></div><p>Dashboard Configuration</p><ul><li>First login to the Dashboard and enter the admin panel, go to the settings page, fill in the <code>CDN Bypassed Domain/IP</code> with the domain name you configured in Nginx or Caddy, for example <code>data.example.com</code>, and save it.</li><li>Then open the <code>/opt/nezha/dashboard/data/config.yaml</code> file in the panel server and change <code>proxygrpcport</code> to the port that Nginx or Caddy is listening on, such as <code>443</code> as set in the previous step. Since we have SSL/TLS enabled in Nginx or Caddy, we need to set <code>tls</code> to <code>true</code>, restart the panel when you are done.</li></ul><p>Agent Configuration</p><ul><li>Log in to the admin panel, copy the one-click install command, and run the one-click install command on the corresponding server to reinstall the agent.</li></ul><p>Enable Cloudflare CDN (optional)</p><p>According to Cloudflare gRPC requirements: gRPC services must listen on port 443 and must support TLS and HTTP/2. So if you need to enable CDN, you must use port 443 when configuring Nginx or Caddy reverse proxy gRPC and configure the certificate (Caddy will automatically apply and configure the certificate).</p><ul><li>Log in to Cloudflare and select the domain you are using. Go to the <code>Network</code> page and turn on the <code>gRPC</code> switch, then go to the <code>DNS</code> page, find the resolution record of the domain with gRPC configuration, and turn on the orange cloud icon to enable CDN.</li></ul>`,13),p=[o];function c(r,i,l,d,u,h){return a(),n("div",null,p)}var m=e(t,[["render",c]]);export{g as __pageData,m as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as e,c as n,o as a,d as s}from"./app.2c402e15.js";const g='{"title":"Reverse Proxy gRPC Port (support Cloudflare CDN)","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q3.md"}',t={},o=s("",13),p=[o];function c(r,i,l,d,u,h){return a(),n("div",null,p)}var m=e(t,[["render",c]]);export{g as __pageData,m as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as e,c as t,o as a,a as o}from"./app.2c402e15.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q4.md"}',s={},r=o("p",null,"q4",-1),n=[r];function c(_,d,i,p,l,f){return a(),t("div",null,n)}var h=e(s,[["render",c]]);export{m as __pageData,h as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as e,c as t,o as a,a as o}from"./app.2c402e15.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q4.md"}',s={},r=o("p",null,"q4",-1),n=[r];function c(_,d,i,p,l,f){return a(),t("div",null,n)}var h=e(s,[["render",c]]);export{m as __pageData,h as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as t,c as a,o,a as e,b as n}from"./app.2c402e15.js";const v='{"title":"Real-time channel disconnection/online terminal connection failure","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q4.md"}',i={},r=e("h4",{id:"real-time-channel-disconnection-online-terminal-connection-failure",tabindex:"-1"},[n("Real-time channel disconnection/online terminal connection failure "),e("a",{class:"header-anchor",href:"#real-time-channel-disconnection-online-terminal-connection-failure","aria-hidden":"true"},"#")],-1),c=e("ul",null,[e("li",null,"If you are using a CDN, please make sure that the CDN provider provides WebSocket service and that WebSocket is enabled"),e("li",null,[n("Confirm that you are using a reverse proxy requires special configuration of the WebSocket for the "),e("code",null,"/ws"),n(" and "),e("code",null,"/terminal"),n(" paths, you can "),e("a",{href:"/en_US/guide/dashboard.html#configure-reverse-proxy"},"click here"),n(" to see the reverse proxy configuration")])],-1),l=[r,c];function s(d,u,h,f,_,m){return o(),a("div",null,l)}var g=t(i,[["render",s]]);export{v as __pageData,g as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as t,c as a,o,a as e,b as n}from"./app.2c402e15.js";const v='{"title":"Real-time channel disconnection/online terminal connection failure","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q4.md"}',i={},r=e("h4",{id:"real-time-channel-disconnection-online-terminal-connection-failure",tabindex:"-1"},[n("Real-time channel disconnection/online terminal connection failure "),e("a",{class:"header-anchor",href:"#real-time-channel-disconnection-online-terminal-connection-failure","aria-hidden":"true"},"#")],-1),c=e("ul",null,[e("li",null,"If you are using a CDN, please make sure that the CDN provider provides WebSocket service and that WebSocket is enabled"),e("li",null,[n("Confirm that you are using a reverse proxy requires special configuration of the WebSocket for the "),e("code",null,"/ws"),n(" and "),e("code",null,"/terminal"),n(" paths, you can "),e("a",{href:"/en_US/guide/dashboard.html#configure-reverse-proxy"},"click here"),n(" to see the reverse proxy configuration")])],-1),l=[r,c];function s(d,u,h,f,_,m){return o(),a("div",null,l)}var g=t(i,[["render",s]]);export{v as __pageData,g as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as a,c as r,o,a as e,b as t}from"./app.2c402e15.js";const f='{"title":"How do I migrate my data to the new server and restore my backups?","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q5.md"}',s={},n=e("h4",{id:"how-do-i-migrate-my-data-to-the-new-server-and-restore-my-backups",tabindex:"-1"},[t("How do I migrate my data to the new server and restore my backups? "),e("a",{class:"header-anchor",href:"#how-do-i-migrate-my-data-to-the-new-server-and-restore-my-backups","aria-hidden":"true"},"#")],-1),c=e("ol",null,[e("li",null,[t("First use the one-click script and select "),e("code",null,"Stop Panel")]),e("li",null,[t("Compress the "),e("code",null,"/opt/nezha"),t(" folder to the same path as the new server")]),e("li",null,[t("Run the one-click script in the new server, select "),e("code",null,"Launch Panel")])],-1),d=[n,c];function l(i,h,u,m,p,_){return o(),r("div",null,d)}var v=a(s,[["render",l]]);export{f as __pageData,v as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as a,c as r,o,a as e,b as t}from"./app.2c402e15.js";const f='{"title":"How do I migrate my data to the new server and restore my backups?","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q5.md"}',s={},n=e("h4",{id:"how-do-i-migrate-my-data-to-the-new-server-and-restore-my-backups",tabindex:"-1"},[t("How do I migrate my data to the new server and restore my backups? "),e("a",{class:"header-anchor",href:"#how-do-i-migrate-my-data-to-the-new-server-and-restore-my-backups","aria-hidden":"true"},"#")],-1),c=e("ol",null,[e("li",null,[t("First use the one-click script and select "),e("code",null,"Stop Panel")]),e("li",null,[t("Compress the "),e("code",null,"/opt/nezha"),t(" folder to the same path as the new server")]),e("li",null,[t("Run the one-click script in the new server, select "),e("code",null,"Launch Panel")])],-1),d=[n,c];function l(i,h,u,m,p,_){return o(),r("div",null,d)}var v=a(s,[["render",l]]);export{f as __pageData,v as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as e,c as t,o as a,a as o}from"./app.2c402e15.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q5.md"}',s={},r=o("p",null,"q5",-1),n=[r];function c(_,d,i,p,l,f){return a(),t("div",null,n)}var h=e(s,[["render",c]]);export{m as __pageData,h as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as e,c as t,o as a,a as o}from"./app.2c402e15.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q5.md"}',s={},r=o("p",null,"q5",-1),n=[r];function c(_,d,i,p,l,f){return a(),t("div",null,n)}var h=e(s,[["render",c]]);export{m as __pageData,h as default};
|
||||
Reference in New Issue
Block a user